Power AutomateでExcelの行を追加・取得・更新する方法|テーブル必須の理由と256行制限も解説
はじめに
Power Automate で Excel を扱いたいとき、最初にぶつかるのが「行の追加・取得・更新はどのアクションを使えばいいのか」という疑問です。
さらに、いざ使ってみると「テーブルが選択肢に出てこない」「日付が 45017 のような数字で返ってくる」「256 行までしか取れない」といった、地味だけど確実にハマるポイントが待っています。
本記事では、Excel Online (Business) コネクタの行操作アクション(表に行を追加/表内に存在する行を一覧表示/行の取得/行の更新/行の削除)の使い方を、実際の画面つきで最初から解説します。
あわせて、上に挙げた 3 大ハマりどころ(テーブル必須・日付シリアル値・256 行制限)の対策も実機で確認した結果を載せます。すべて標準コネクタのみ(プレミアム不要)です。
- Power Automate から Excel の行を追加・取得・更新・削除したい
- 「テーブル」の選択肢が空っぽで先に進めない
- 一覧表示で日付が数字になる・256 行までしか取れないのを直したい
Power Automate の基本・料金・他の実例一覧はこちら。

事前準備:Excel のデータを「テーブル」にする
Power Automate の Excel 行操作アクションは、シート上のセル範囲ではなく「テーブル」を単位にデータを読み書きします。そのため、まず変換元のデータをテーブルとして書式設定しておく必要があります。ここを飛ばすと後述のとおり、そもそもアクションが使えません。
テスト用に作成しOneDrive for Business に置いた PA行操作テスト.xlsx で、データ範囲を選択し [挿入]→[テーブル] を実行します。「先頭行をテーブルの見出しとして使用する」にチェックを入れておきましょう。

テーブルを作ったら、[テーブル デザイン]タブでテーブル名を分かりやすい名前に変更しておきます。ここでは 社員名簿 にしました。Power Automate 側ではこのテーブル名で対象を選ぶため、テーブル1 のままだと後で分かりにくくなります。

【最重要】テーブルにしていないと行操作は使えない
「事前準備」を強調したのには理由があります。テーブルとして書式設定していないシートは、行操作アクションの対象として選択できません。試しに、テーブル化していないベタ打ちデータのファイルを「表に行を追加」に指定してみると、「テーブル」ドロップダウンには候補が一切表示されず「項目なし」になります。

これは「表に行を追加」だけでなく、一覧表示・取得・更新・削除のすべての行操作アクションで共通です。「テーブルが選べない」ときは、まず対象シートがテーブルとして書式設定されているかを疑ってください。
行を追加する:「表に行を追加」
まずは一番よく使う「表に行を追加」です。場所(OneDrive for Business)・ドキュメントライブラリ・ファイル・テーブルを選ぶと、テーブルの列に応じた入力欄が動的に生成されます。今回なら 社員ID / 氏名 / 部署 / 入社日 / メモ の 5 つが並びます。

各欄に値を入れて実行すると、テーブルの末尾に 1 行追加されます。Excel Online を開いて見ると、指定した内容の行がきちんと増えているのが確認できます。

行をまとめて取得する:「表内に存在する行を一覧表示」
テーブルの全行を読み取るには「表内に存在する行を一覧表示」を使います。取得結果は各行が JSON の配列で返り、後続の「それぞれに適用する(Apply to each)」で 1 行ずつ処理するのが定番です。ただし、この一覧表示には初心者が必ず踏む落とし穴が 2 つあります。
落とし穴1:日付が「45017」のような数字で返る
既定のまま一覧表示を実行すると、入社日 のような日付列が Excel のシリアル値(数値)で返ってきます。たとえば 2023/4/1 は 45017 という数字になります。これをそのままメールや別システムに渡すと、日付として使えず困ることになります。

対策はかんたんです。アクションの詳細オプションにある「DateTime 形式」を ISO 8601 に変更します。

これで再実行すると、日付が 2023-04-01T00:00:00.000Z のような ISO 8601 形式の文字列で返るようになります。あとは formatDateTime() で好きな表記に整えれば OK です。

落とし穴2:256 行までしか取得できない
もう 1 つの大きな罠が取得件数の上限です。300 行あるテーブルを既定設定で一覧表示すると、256 行しか返ってきません。出力の末尾を見ると @odata.nextLink(次ページの URL)が付いており、「まだ続きがあるのに途中で切れている」ことが分かります。

対策は、アクションの「設定」を開き、「改ページ(ページ分割)」をオンにして、しきい値(取得したい最大行数)を指定することです。ここでは 1000 に設定しました。

設定を変えて再実行すると、300 行すべてが返り、@odata.nextLink も付かなくなりました。これで全行を確実に処理できます。

特定の行を取得・更新・削除する(キー列)
「行の取得」「行の更新」「行の削除」は、キー列(どの列で行を特定するか)とキー値を指定して 1 行をピンポイントに操作します。ここでは 社員ID をキー列にして、社員ID 1001 の行を取得しています。

「行の更新」も同じ要領です。キーで対象行を指定し、変更したい列だけ値を入れれば、その列だけが書き換わります(未指定の列は元のまま)。下は 部署 だけを更新した結果です。


存在しないキーを指定すると 404 エラーで止まる
「行の取得」で存在しないキー値(ここでは 9999)を指定すると、HTTP 404 が返り、フロー全体が失敗になります。エラーメッセージは「ID '9999' を持つ行が見つかりませんでした。」です。既定では後続のアクション(更新・削除)はスキップされます。

なお、対象の Excel ファイルをブラウザで開いたまま「表に行を追加」を実行しても、Excel Online の共同編集の仕組みによりブロックされず正常に追加できました(開いている画面にもリアルタイムで反映されます)。デスクトップ版 Excel で排他ロックがかかっている場合とは挙動が異なる点だけ覚えておくと安心です。
まとめ
Power Automate の Excel 行操作は、基本さえ押さえれば難しくありませんが、「知らないと必ずハマる仕様」がいくつかあります。最後に要点を整理します。
- 行操作は「テーブル」が前提。 テーブル化していないシートは選択できない
- 日付はシリアル値で返る。 「DateTime 形式」を
ISO 8601にして文字列で受け取る - 一覧表示は既定 256 行まで。 「改ページ」をオンにしてしきい値を上げる
- 取得・更新・削除のキー列はユニークな列に。 重複キーは先頭 1 件のみ処理
- 存在しないキーは 404 で失敗。 不確実なら一覧表示+フィルターで安全に
取得した行を CSV ファイルとして書き出したい場合は、こちらの記事もあわせてどうぞ。







