【Vol.21】Power Automate:ハマりがちな7つの問題と解決方法

Power Automate 実践・Tips
★★★ 上級
⏱ 8分
🎯 Power Automate

Power Automateを触り始めると、必ずどこかでハマります。

「テストは通るのに本番で動かない」「エラーが全然意味わからない」「なんか変数がnullになってる」——そういうつまずきは誰もが経験するものです。

今回は自分がよく相談を受けるハマりポイント7つと、それぞれの解決方法をまとめます。

Power Automate を使い始めると、似たような場所でつまずくことがあります。

よくあるハマりポイント7つと、それぞれの解決方法をまとめました。

 

① Apply to each が勝手に出てくる

原因:一覧取得などのアクションは必ず「配列」で返ってくるため、動的コンテンツを使うと自動でApply to eachが追加されます。

解決:1件のデータしかない場合は「フィルターアレイ」で絞り込み、または「first()」式で最初の要素を取り出します。

 

② フィルターアレイの条件が通らない

原因:比較する値の「型」が違います。
文字列と数値を比較しようとするとエラーになります。

解決:数値は数値、文字は文字、日付は formatDateTime で揃えてから比較します。

 

③ 選択(Select)が何をしているか分からない

→ 関連記事:「【Vol.1】Copilot Studio × Power Automate × Word連携 つまずきポイント3選

原因:「配列の形(構造)を変換するアクション」という目的が理解されていないことが多いです。

解決:「配列の列構造を作り直すツール」と覚えます。
データ量(件数)は変わらず、構造(列)だけが変わります。

 

④ addDays が呪文に見える

原因:関数の構造がイメージできていないとき。

解決:構造を覚えてしまえばシンプルです。

addDays(基準日, 日数, 'yyyy-MM-dd')
例:addDays(utcNow(), 1, 'yyyy-MM-dd')  // 明日の日付

 

⑤ 動的コンテンツが出てこない

→ 関連記事:「Power Automate【変数の値を増やす】アクションの使い方を業務に役立つ具体的なフローで解説

原因:参照したい値が「別のスコープ(箱)の外にいる」ことがよくあります。

Apply to eachの外から中の値は参照できません。

解決:同じスコープにアクションを移動するか、変数に一度値を入れてからスコープをまたいで使います。

 

⑥ 変数の型ミスで事故る

原因:「変数の初期化」で型を間違えて設定していたり、空のままにしていると後続でエラーになります。

解決:最初に「本来入るべき型」の初期値(0や空文字など)で変数を初期化します。

 

⑦ 実行履歴が読めない

→ 関連記事:「Power Automate:変数を使ってあいさつメッセージを送る方法。
変数の初期化と変数の設定。

原因:どこに何が入っているか追い方が分からないとき。

解決:「作成(Compose)」アクションを要所に挟んで確認窓として使います。

実行履歴で作成アクションの出力を見ると、その時点の値が分かります。

困ったときの3ステップ:①配列かどうか意識する ②型を揃える ③箱と中身を一つずつ追う。この順番で確認すると解決が早くなります。Composeを確認窓として使うのが定番テクニックです。

 

まとめ

  • Apply to each → 配列だから自動で出る。回したくなければ first() や Filter を使う
  • 条件が通らない → 型を揃える
  • 動的コンテンツが出ない → スコープを確認
  • 型ミス → 変数の初期化を見直す
  • デバッグ → Compose を確認窓として挟む

特に頻出なのが「動的コンテンツが表示されない」問題です。

これは前のアクションが配列を返しているときに「Apply to each」の外で参照しようとしている場合や、アクション名に日本語や特殊文字が含まれている場合に起きます。

アクション名は英数字ベースにする習慣をつけるだけで、この問題はかなり減ります。

次によく見るのが「接続のアカウントが意図したものになっていない」問題です。

フローを別のユーザーに共有・移管したとき、接続が古いアカウントのままになっていて権限エラーが出るパターンです。

フローの「接続」設定を定期的に確認する習慣が大切です。

「条件は正しいはずなのに分岐が期待通りに動かない」という問題は、データ型の不一致が原因のことが多いです。

たとえば文字列の「1」と数値の`1`は`equals`で比較するとfalseになります。
`string()`や`int()`で型を明示的に揃えてから比較するのが確実です。

まとめ

次の内容で設定します。
実際のPower Automate画面を見ながら確認してみてください。

📋 この記事で学んだこと




ハマったときは「型が合ってるか」「スコープは正しいか」「接続は正しいか」の3点を最初に確認する習慣をつけると解決が速くなります。

一緒に乗り越えていきましょう。

→ 次に読む記事:「【Vol.22】equalsとcontainsの使い分け

💌

最新のPower Automate Tipsを毎日チェック

1枚スライドで関数・概念をわかりやすく解説しています。


@isamu_Automate をフォロー

PA45 — 45分でPower Automateを一緒に学ぼう

毎週木曜夜・オンライン・無料のハンズオン講座。初心者歓迎。


次回PA45に参加する

\ 最新情報をチェック /

💌

最新のPower Automate Tipsを毎日チェック

1枚スライドで関数・概念をわかりやすく解説しています。

𝅧 @isamu_Automate をフォロー →

PA45 — 45分でPower Automateを一緒に学ぼう

毎週木曜夜・オンライン・無料のハンズオン講座。初心者歓迎。

次回PA45に参加する →

コメント

PAGE TOP