Power Automateの結合(Join)アクション。複数の値を1本の文字列にまとめる方法

Power Automateの結合(Join)アクションは、配列の中身をひとつの文字列に結合するだけのシンプルなアクションです。それだけでも、使いこなすと通知メッセージやメール本文の組み立てが一気に楽になります。

結合(Join)アクションとは

結合(Join)アクションは、配列(複数の値をまとめたもの)を指定した区切り文字でつなぎ合わせて、ひとつの文字列として出力するアクションです。設定項目は「配列(From)」と「区切り文字(Join with)」の2つだけで、非常にシンプルです。

たとえば、配列の中に「田中さん」「鈴木さん」「山本さん」という3つの名前が入っていたとします。結合(Join)の区切り文字に「・」を指定すると、出力は「田中さん・鈴木さん・山本さん」という1本の文字列になります。Teamsへの通知文やメールの件名に、こういった文字列をそのまま使いたいことはよくあります。

選択(Select)と組み合わせるのが王道

実務で結合(Join)を使うとき、ほとんどのケースで選択(Select)アクションとセットになります。SharePointリストや配列から特定の列だけを取り出すのが選択(Select)の役割で、そこに結合(Join)をつなぐことで「特定フィールドの値を区切り文字でまとめる」という処理が完成します。

たとえば、SharePointリストの申請者名だけを取り出して、承認通知メールに一覧表示したいケースを考えます。処理の流れはこうなります。

  1. SharePointのアイテムを取得(リストの行を取得など)
  2. Selectアクションで申請者名の列だけを抽出(配列を整形)
  3. 結合(Join)アクションで「、」区切りの文字列に変換
  4. メール本文やTeams通知に組み込む

区切り文字の選び方

区切り文字は自由に設定できます。用途によって使い分けると読みやすくなります。

用途おすすめの区切り文字出力例
日本語の列挙、(読点)田中さん、鈴木さん、山本さん
英語・コード系,(カンマ)またはパイプ記号tanaka,suzuki,yamamoto
メール本文の改行列挙\n(改行コード)各項目が1行ずつになる
箇条書き風・(中黒)田中さん・鈴木さん・山本さん

個人的によく使うのは「、」と改行コードです。Teamsメッセージなら読点でつないでも見やすいですし、メール本文に縦並びで出したいときは改行コードを使います。改行コードは\nを入力するか、数式バーで decodeUriComponent('%0A') などで生成することもあります。

結合(Join)アクションが使えないケース

結合(Join)が機能するのはあくまで「フラットな配列(文字列や数値の1次元配列)」に対してです。SharePointの複数の項目の取得(Get items)で取得した「テーブル形式の配列」をそのまま結合(Join)に渡しても、意図した結果にはなりません。その場合は選択(Select)で整形してから結合(Join)を使う必要があります。

また、配列が空のとき(アイテムが0件のとき)は、結合(Join)の出力も空文字列になります。後続の処理でその文字列を使う場合は、empty()関数で空チェックをしておくと安全です。これを怠ると、通知メッセージに何も出力されないまま送信されてしまうことがあります。

実務でよく使う組み合わせパターン

パターン① 承認依頼の一覧をTeamsに通知

SharePointから未対応の申請を取得 → 選択(Select)で申請者名を抽出 → 結合(Join)で「、」区切りに変換 → Teamsに送信。社内の承認フロー自動化でこの形はほぼ定番です。10件の申請者名を1行にまとめてメンションできるので、受け取る側も把握しやすいです。

パターン② 週次レポートのタスク一覧を整形

その週に完了したタスク名をSharePointから取得 → 結合(Join)で改行区切りに変換 → メール本文に差し込む。個人的には毎週月曜朝にこの形で週報を自動生成して、メールで自分宛てに送るフローを運用しています。手書きよりずっと楽です。

まとめ

結合(Join)アクション自体はシンプルですが、選択(Select)とセットで使うことで配列操作の幅が大きく広がります。複数の値を文字列にまとめる処理が必要になったとき、まず選択(Select)で整形して結合(Join)で結合するというパターンを頭に入れておくと迷わずに済みます。Power Automateの地道なパーツの組み合わせが、業務の自動化を支えています。

Xでフォローしよう