Power Automate SharePoint・リスト操作

Power Automateの「get items(アイテムの取得)」を日本語で完全解説|設定方法とよくあるトラブル対処法

Power Automate(パワーオートメイト)を使ってSharePointリストやデータベースの情報を自動処理したいとき、欠かせないのが「get items(アイテムの取得)」アクションです。
しかし実際に使ってみると、「データが取れない」「条件式が反応しない」「日本語の列名だとうまく動作しない」など、思わぬ壁に直面することもあります。

この記事では、Power Automateの「get items」アクションを日本語環境で使う際の基本設定から、エラー対策、よくある失敗の原因までを詳しく解説します。
特に、日本語リストや日本語列名を扱う場合の注意点を丁寧にまとめています。

✅ Power Automateの「get items」とは?

「get items」は、SharePointリストの内容を取得するための標準アクションです。
このアクションを使うことで、リスト内の全アイテムまたは条件に合うアイテムをフロー内で取得できます。

  • 英語名:Get items
  • 日本語UI名:アイテムの取得

取得したデータは「配列(Array)」として返され、後続の「Apply to each(各アイテムに適用)」アクションで1件ずつ処理することができます。
つまり、「get items」はSharePointリストをPower Automateフローで扱うための入口にあたる重要なアクションです。


✅ 基本的な設定手順(日本語環境)

・ステップ1:アクションを追加

  1. Power Automateで新しいフローを作成します。
  2. 「+ 新しいステップ」をクリック。
  3. 検索欄に「SharePoint」と入力し、「アイテムの取得」を選択します。

これでSharePointリストを対象にする準備が整います。


・ステップ2:サイトアドレスとリスト名を指定

アクションには2つの必須項目があります。

  • サイトアドレス:対象のSharePointサイトを指定
  • リスト名:対象のリストを選択(例:「申請管理リスト」)

Power Automateはこの設定に基づき、リストデータをAPI経由で取得します。
リスト名はプルダウンメニューから選べますが、日本語名の場合でもそのまま選択可能です。


・ステップ3:条件付き取得(Filter Query)を設定

リスト内のすべてのデータを取得すると、無駄が多く処理速度も遅くなります。
必要なデータだけを絞り込みたい場合は「Filter Query(フィルタークエリ)」を使いましょう。

例1:ステータスが「承認待ち」のデータだけ取得

Status eq '承認待ち'

例2:部署が「営業部」かつステータスが「未対応」

Department eq '営業部' and Status eq '未対応'

例3:作成日が今日以前のデータ

Created le '@{utcNow()}'

このようにOData形式で条件を記述します。
ただし注意すべき点として、日本語列名をそのまま指定してもうまく動作しないことがあります。


✅ 日本語列名で「get items」がうまく動かない理由

日本語環境のSharePointでは、見た目の列名と内部的な「内部名(Internal Name)」が異なることがあります。
「get items」アクションのフィルターや出力で使用されるのは、内部名です。

・内部名を確認する方法

  1. SharePointリストで「設定(⚙)」→「リストの設定」を開く。
  2. 「列」の一覧から該当列をクリック。
  3. URLの末尾に表示される Field= の後の文字列が内部名です。

例:
URLが

.../FldEdit.aspx?List=%7Bxxxx%7D&Field=申請者_x0020_名

の場合、内部名は「申請者_x0020_名」となります。

この「x0020」はスペースを意味しています。
したがって、Filter Queryでは以下のように指定します:

申請者_x0020_名 eq '田中'

この設定を行わないと、日本語列名のままではエラーや空データが返されることが多い点に注意しましょう。


✅ 取得したデータを使う:「Apply to each」でループ処理

「get items」で取得した結果は、JSON形式の配列データです。
このままでは扱いにくいため、「Apply to each」アクションを使って1件ずつ処理します。

・手順

  1. 「+ 新しいステップ」で「Apply to each」を追加。
  2. 入力に「value」を指定します(動的コンテンツの「value」項目を選択)。
  3. 内部で列値を参照する際は、以下のように記述します:

例:

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

これで各アイテムの「Title(タイトル)」列を取得できます。

・日本語列名を扱うときの注意

内部名が「顧客_x0020_名」などの場合、同様に:

items('Apply_to_each')?['顧客_x0020_名']

と書く必要があります。

参考:【Power Automate】複数の項目を上から順に取得する方法|実務で使える設定と応用例




✅ データを並べ替える(Order Byの活用)

SharePointリストを「古い順」や「新しい順」で取得したい場合は、「Order By」を使います。

・昇順(古い順)

ID asc

・降順(新しい順)

Created desc

この指定により、取得データの順序を制御できます。
特に「最新1件のみ取得したい」ときに便利です。


✅ 上限件数とパフォーマンスの最適化

Power Automateの「get items」アクションは、既定で最大100件しか取得できません。
多くのリストを扱う場合、この制限に注意が必要です。

・取得件数の上限を変更する手順

  1. 「get items」アクション右下の「設定(歯車アイコン)」をクリック。
  2. 「上限を超えたときの処理」をオンにする。
  3. 「件数の上限」に5000などを入力。

これで最大5000件まで取得できます。
より大きいデータを扱う場合は、ページネーションを利用して分割取得する方法もあります。


✅ よくあるトラブルと解決策

① 値が返ってこない(空配列になる)

原因:フィルター条件が内部名と一致していない、または構文ミス。
対策:内部名を再確認し、eqandなどOData形式の構文を正しく使う。


② 「指定されたリストが存在しません」エラー

原因:サイトURLまたはリスト名が誤っている。
対策:URLが実際のSharePointサイトのURLと一致しているか確認。


③ 「BadGateway(502)」や「Timeout」エラー

原因:取得件数が多すぎる。
対策:フィルターで件数を絞るか、上限設定を5000以下に調整。


④ 日本語列名を指定したらフローが停止した

原因:内部名で指定していない。
対策:リスト設定画面で内部名を確認し、_x0020_などを含めた名称を使用する。


⑤ 列の値が「null」になる

原因:値が空、または対象列が非表示。
対策:「null」判定を条件分岐で行う。
例:

empty(items('Apply_to_each')?['承認日'])

で空白判定が可能。


✅ 実務で使える応用例

・例1:承認待ちリストを自動でTeamsに通知

  • 「get items」で「ステータス = 承認待ち」を抽出
  • 「Apply to each」で担当者にメンション付きで通知
    → チーム全体の対応漏れを防止

・例2:リストの更新内容を毎日メールで送信

  • 「Order By Created desc」で最新順に並び替え
  • 当日分のデータのみ抽出してメール本文に自動整形
    → 日報作成を完全自動化

・例3:Excelデータとの突合

  • SharePointリストの取得結果を「Excel行取得」結果と比較
  • 「存在しないデータ」を自動的に別リストに追加
    → データ管理を正確かつ効率的に実現

✅ 「get items」を正しく使うコツまとめ

  • 列名は必ず**内部名(Internal Name)**で指定する
  • 条件式はOData形式(eq, and, lt, geなど)を使用
  • 並び順を制御するにはOrder Byを活用
  • 件数制限は設定画面から拡張可能
  • 日本語環境でも動作は同じだが、列名の扱いに注意

✅ まとめ:日本語環境でも「get items」を正確に使いこなそう

Power Automateの「get items」アクションは、データ取得の要となる機能です。
しかし日本語環境では、列名や文字コードの違いによってトラブルが発生しやすいのも事実です。

本記事で紹介したように、内部名の指定方法やODataクエリの正しい記述を理解しておくことで、
日本語リストでも安定してデータを取得できるようになります。

  • 内部名を正確に把握する
  • クエリ構文を正しく書く
  • 取得件数と順序を意識する

これらを守れば、Power Automateの「get items」はどんなリストでも自在に活用できます。
業務フローをさらに自動化し、ミスのない効率的な情報処理を実現しましょう。

    -Power Automate, SharePoint・リスト操作