2つのデータテーブルを縦に結合する(追記先・重複・列数を確認)
2つの表をマージし、最初のTableAが2行から4行になる様子を確認します。同じ行も残ることと、列数が違うときの停止を練習できます。
画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。
実行前に確認
- この練習は有人・手動実行用です。外部コネクターやExcel接続は使いませんが、Power Automateへのサインイン・利用権は必要な環境条件を確認してください。クラウドからの起動や無人実行は別のライセンス・実行条件です。
- 最初のTableAが書き換わります。別の結果表やバックアップを自動作成する例ではありません。フロー内の表を変更するだけで、元のExcelやCSVへ保存するアクションはありません。
- 同名・同順・同じ意味の列を使います。「余分な列でエラー」は列数差を確認する設定で、同じ列数なら内容や列の意味まで正しいと保証するものではありません。
- 3つのマージモードには「余分な列を追加する」「余分な列を無視する」「余分な列でエラーが発生する」があります。本例は最後のモードだけを検証対象にします。失敗を通すために安易に「無視する」へ変えず、まず列構成を確認してください。
- キーで対応付ける「データ テーブルを結合する(Join)」とは別です。重複行の削除や数量の合計も行いません。
- メッセージはOKを押すまで待機します。マージの途中で失敗すれば行数の表示には進めません。エラー後に途中から再開せず、入力表を直して先頭から作り直します。
1使うアクション
- アクション 1新しいデータ テーブルを作成するTableA:商品・数量の2列、2行
- アクション 2新しいデータ テーブルを作成するTableB:同じ2列、2行
- アクション 3データ テーブルをマージするTableBの行をTableAへ追加。結果もTableA
- アクション 4メッセージを表示成功したときだけTableAの行数を表示
図で見る処理のイメージ
概念図「商品・数量」の2列をそろえた表を使います。TableAの2行とTableBの2行を縦にまとめても、同じ「りんご/2」は別々の行として残ります。
2行 + 2行 → 同じTableAが4行に
最初:TableA 2行
| 商品 | 数量 |
|---|---|
| りんご | 2 |
| みかん | 3 |
2番目:TableB 2行
| 商品 | 数量 |
|---|---|
| バナナ | 1 |
| りんご | 2 |
TableBの2行を、TableAの末尾へマージモード:余分な列でエラーが発生する
処理後:TableA 4行
| 商品 | 数量 |
|---|---|
| りんご | 2 |
| みかん | 3 |
| バナナ | 1 |
| りんご | 2 |
上の2行は元のTableA、下の2行はTableBから追加
「りんご/2」は2行同じ行でも消さずに追加。
数量を合計する処理でもありません。
新しい結果変数は増えない変数ペインでTableAを開く。
RowsCountは見出しを除いた4です。
TableBだけ3列にしたら?このモードでは列数不一致のエラー。成功時の行数表示には進みません。
確認AではTableAが2列・4行になります。結果を開く変数名はTableAのままです。見出しは4行に数えません。
狭い画面では、表を横にスクロールして確認内容まで読めます。
| 入力条件 | 期待する結果 | 確かめること |
|---|---|---|
| A:図と同じ2列・2行ずつ | TableAは4行 | りんご/2が2行残る |
| B:TableBの最後だけ「なし/2」 | TableAは4行 | りんご/2となし/2が各1行 |
| C:TableBだけ産地列を追加 | 列数不一致でマージが失敗 | 最後のメッセージへ進まない |
図と確認表は、この練習データから期待する結果です。実際のPower Automateフローを実行して確認した結果ではありません。異なる列名・列順のマッピング、内部のセル型、失敗後のロールバックを保証する例ではありません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する9ステップの設定と確認方法
- 1
準備:WindowsのPower Automate for desktopで、Power Fxをオフにした新しい練習フローを作ります。上の図と同じ架空の表をフロー内で作るため、Excelファイルや外部サービスへの接続は使いません。変数名の欄には前後の%を付けません。
- 2
1つ目の「新しいデータ テーブルを作成する」:[編集]で列見出しを左から「商品」「数量」にし、1行目に「りんご」「2」、2行目に「みかん」「3」を入力します。出力DataTableをTableAへ変更します。見出しをデータ行として追加しないでください。
- 3
2つ目の「新しいデータ テーブルを作成する」:同じ順序の「商品」「数量」2列にし、1行目を「バナナ」「1」、2行目を「りんご」「2」にします。出力はTableBです。両方とも商品は文字、数量は同じ方法で入力した値にそろえます。この例では数量の計算はしません。
- 4
「データ テーブルをマージする」:最初のデータテーブル=%TableA%、2番目のデータテーブル=%TableB%、マージモード=「余分な列でエラーが発生する(Error on extra columns)」にします。既定の「余分な列を追加する」のままにしません。結果はTableA自体に入り、別の出力変数は増えません。For eachは不要です。
- 5
「メッセージを表示」:マージの次に置き、タイトル=行数の確認、表示するメッセージ=TableAは%TableA.RowsCount%行です、ボタン=OK、自動的に閉じる=オフにします。出力ButtonPressedはResultButtonへ変更します。表示を閉じた後、変数ペインのTableAを開き、上の結果表とセルの内容を比べます。
- 6
確認A・図と同じ入力:保存して最初から実行します。表示は「TableAは4行です」。元の2行にTableBの2行が加わり、「りんご/2」は2行あります。見出しはRowsCountに含めず、合計や重複削除も行いません。TableAの表を開いて、行数だけでなく4行の内容を確認します。
- 7
確認B・重複がない入力:TableBの2行目だけを「なし/2」へ変更して保存し、最初から実行します。結果は同じ4行ですが、「りんご/2」は1行、「なし/2」は1行になります。マージは商品名で照合して上書きする処理ではありません。
- 8
確認C・列数が違う入力:TableBを図の2行へ戻し、そのTableBだけに3列目「産地」を追加して各行に「練習」と入れます。マージの[エラー発生時]はフロー停止のままとし、エラーを無視する設定や外側のブロックによる継続は使いません。保存して最初から実行すると、2列と3列の違いによりマージでMissing Schema(列数不一致)のエラーが期待され、最後のメッセージへ進みません。エラー後のTableAが元の状態へ戻るとはみなさず、成功した結果として使わないでください。
- 9
練習を終えたらTableBを「商品・数量」の2列、バナナ/1・りんご/2の2行へ戻して保存し、必ず最初から実行して4行を再確認します。このフローは先頭で両表を作り直します。TableAを保持したままマージだけを繰り返すと、同じ2行を再追加するため、4行のTableAは6行へ増えます。
- 対象環境
- Power Automate for desktop(Windows・標準構文・有人の練習)
- 更新日
- 2026年10月13日