条件に合うExcelの行だけを別ファイルへ転記する
状態が「未処理」の明細だけ、新しいExcelブックへ書き出します。
画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。
実行前に確認
- DataRowをそのままExcel書き込みへ渡せる前提を避け、この例は列の値を個別に転記します。列を増やす場合は対応する書き込みも増やしてください。
- 一致が0件なら見出しだけのブックです。元の状態は更新しません。再実行や出力ファイルの上書きには注意してください。
1使うアクション
- アクション 1Excel の起動
- アクション 2アクティブな Excel ワークシートを設定する
- アクション 3Excel ワークシートから読み取る
- アクション 4Excel を閉じる
- アクション 5Excel の起動新しい空白ブック
- アクション 6Excel ワークシートに書き込む見出しをA1・B1へ
- アクション 7変数の設定
- アクション 8For eachExcelDataをCurrentRowへ
- アクション 9If状態が未処理
- アクション 10Excel ワークシートに書き込む商品をA列・状態をB列へ
- アクション 11変数を大きくする転記した場合だけ
- アクション 12EndIfの終わり
- アクション 13EndFor eachの終わり
- アクション 14Excel を閉じる
表で見る入力と処理結果
架空データ未処理と完了が混ざる明細から、未処理の2行だけを間を空けずに別ブックへ転記します。
Desktop:Excelブック/ワークシート
C:\PAD練習\元データ.xlsx/明細 → C:\PAD練習\未処理一覧.xlsx
以下は手順に沿った期待値です。実際のPower Automate・Excel環境で実行して確認した結果ではありません。セルや行の着目箇所には「●」を付けています。
処理前:元データの明細
| 行 | A:商品 | B:状態 |
|---|---|---|
| 2 | ノート | ● 未処理 |
| 3 | ペン | 完了 |
| 4 | ファイル | ● 未処理 |
明細の使用範囲A1:B4を先頭行は列名として読みます。%CurrentRow['状態']%が「未処理」と等しい行だけ、%OutputRow%=2から転記します。
保存後:未処理一覧.xlsx
| 行 | A:商品 | B:状態 |
|---|---|---|
| 2 | ● ノート | ● 未処理 |
| 3 | ● ファイル | ● 未処理 |
元の2行目と4行目が、出力の2行目と3行目になります。完了の行では%OutputRow%を増やさないので、出力に空白行はできません。
- 架空の説明用データです。元の明細の状態は更新しません。
- 商品と状態はそれぞれ別の書き込みアクションで転記します。列を増やすときは書き込みも追加します。
- 一致が0件ならA1:B1の見出しだけを保存します。
- 既存の未処理一覧.xlsxを上書きしない出力先を用意し、再実行時の扱いを確認してください。
図で見る処理のイメージ
概念図状態が「未処理」の明細だけ、新しいExcelブックへ書き出します。
元の表
未処理・完了が混在
判定
1行ずつ状態を確認
転記
未処理だけA列・B列へ
出力
見出し+未処理明細
条件に一致した行の値を新しいブックへ保存します。
図は設定例の流れを表したもので、実行結果の画面ではありません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する6ステップの設定と確認方法
- 1
C:\PAD練習\元データ.xlsx の「明細」にA1=商品、B1=状態を用意します。Excelで開き %SourceExcel% にし、明細を選択、使用範囲を先頭行は列名として %ExcelData% に読み取って保存せず閉じます。
- 2
Excelの起動で新しい空白ブックを作り %DestinationExcel% にします。書き込みを2つ置き、A1に「商品」、B1に「状態」を書きます。
- 3
変数の設定で数値 %OutputRow% = 2。For eachの対象 %ExcelData%、現在の行 %CurrentRow%。
- 4
Ifで %CurrentRow['状態']% が「未処理」と等しいか比較します。内側で、対象 %DestinationExcel%、行 %OutputRow% とし、列Aへ %CurrentRow['商品']%、列Bへ %CurrentRow['状態']% を別々に書き込みます。
- 5
If内で %OutputRow% を1増やします。IfのEnd、For eachのEndの順で閉じます。
- 6
ループ外で %DestinationExcel% を名前を付けて保存して閉じます。形式.xlsx、保存先 C:\PAD練習\未処理一覧.xlsx。既存ファイルがない出力先を用意します。
- 対象環境
- Power Automate for desktop(Windows)
- 更新日
- 2026年10月11日