【Vol.31】実務でのクセづけと安全なフロー作成アイデア|エラーで止まらないフローを作る「黄金ルール」

Power Automate 実践・Tips
★★☆ 中級 ⏱ 6分で読める 🎯 coalesce / エラー対策
Vol.31 実務でのクセづけと安全なフロー作成アイデア

Power Automate でフローを作っていると、必ずぶつかる問題があります。

「動いてると思ってたのに、急に止まる。」

原因を追うと、たいてい「null(空)」が関わっています。
SharePointの未入力列、Excelの空白セル、Formsの任意回答。
どこにでも潜んでいます。

この記事では、null によるフロー停止を防ぐ「黄金ルール」と、
実務ですぐ使える3パターンを紹介します。

X投稿

今回の内容を1枚スライドにまとめたものです。

https://x.com/isamu_Automate/status/1234567890

黄金ルールとは?

スライドに書いた黄金ルールは、一行で表せます。

📌 黄金ルール

「null になりうる動的コンテンツを使う前に、coalesce() で null を値に置き換える

動的コンテンツとは、SharePoint の列・フォームの回答・ユーザー情報など、
フロー実行のたびに値が変わる部分のことです。

こういった箇所は、条件によって null になる可能性があります。
null のまま使おうとすると、フローはそこで止まります。

coalesce() で包んでおけば、null でも処理を続けられます。

ビフォーアフターで見る

Apply to each の中で列の値を使う場面を例にします。

ビフォーアフター

❌ そのままだと…

items('Apply_to_each')?['Value']

→ 空欄の行で “null” が来た瞬間、フローが止まる or エラー

✅ ラップするだけで…

coalesce(items('Apply_to_each')?['Value'], '')

→ 空なら「空文字」として処理続行。止まらない!
↑ 元の値                                        ↑ null のとき代替値

coalesce() で「包む」だけでいい。
それだけで、フローは最後まで走り切ります。

最初に覚えたとき「え、これだけ?」と思いました。
でも本当にこれだけです。動的コンテンツを使う前に coalesce()
これをクセにするだけで、フローの止まり方が激減します。

実務での「とりあえずこれ」3選

実際のフローでよく登場するパターンを3つ紹介します。
コピペで使えるので、そのまま活用してください。

① SharePoint のテキスト列

SharePoint リストのテキスト列は未入力のとき null になります。
Teams通知・メール本文・ログ保存などで使うときは必ず包みましょう。

📋 SharePoint テキスト列
coalesce(item()?['Memo'], '-')

↑ Memo 列が空のとき「-」を表示。通知文の中で null が混じるのを防ぐ

② Excel の数値列(計算用)

Excelの空白セルは null として返ってきます。
合計・平均・件数カウントなど、計算に使う前に 0 に変換しておくと安心です。

📊 Excel 数値列
coalesce(item()?['Amount'], 0)

↑ 空白セルを 0 として扱う。足し算・掛け算でエラーにならない

③ Teams通知の宛先名など(トリガー情報)

トリガーのボディから取得するユーザー情報は、
タイミングや設定によって取れないことがあります。
「不明」など分かりやすいデフォルト値を入れておくと、ログが読みやすくなります。

🟦 Teams 宛先名・ユーザー情報
coalesce(triggerBody()?['User'], '不明')

↑ User が取得できないとき「不明」で代替。通知文やログに空欄が残らない

実際にフローを作ってみた

上記3パターンを実際のフローに組み込んでみました。
SharePoint リストを Apply to each で回して、空欄があっても止まらずに Teams 通知を送るフローです。

📷 PAフローのスクリーンショットをここに挿入

ポイントは Apply to each の中の「メッセージ本文」を組み立てる箇所です。
Memo 列・Amount 列をそれぞれ coalesce() で包んでいます。
これだけで、どの行が空でも最後まで止まらずに動きます。

使いどころには注意も必要

💡 coalesce() はトラブルの予防接種

ただし、エラーが見えなくなってしまうという副作用があります。

  • 表示・通知・ログ・集計 → 積極的に使ってOK
  • 条件分岐・承認判断・業務ロジックの中核 → 一度立ち止まる
    「本当に空なのか」「取得に失敗したのか」が区別できなくなるため

「フローが止まらなくなった!」と喜んでいたら、
実はデータ取得がずっと失敗していた、ということが実際にありました。
coalesce() はあくまで「保険」。使いどころを選ぶことが大事です。

まとめ

「null かもしれない値を使う前に coalesce() で包む」を習慣にするだけで、
フローの安定性がぐっと上がります。
まずは今日紹介した3パターンから試してみてください。

📋 この記事で学んだこと

→ 次に読む記事:「【Power Automate】coalesce() は「フローを止めないための保険」〜使っていい場面/注意すべき場面を整理する〜

💌

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

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

@isamu_Automate をフォロー

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

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

次回PA45に参加する

 

\ 最新情報をチェック /

💌

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

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

𝅧 @isamu_Automate をフォロー →

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

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

次回PA45に参加する →

コメント

PAGE TOP