¥30,000
Excelで重複する商品番号を自動で整理するフローです。単純に重複を削除するのではなく、「商品番号が最後に出現した行だけを残し、それ以前の行をすべて削除する」処理を行います。データの並び順を保持したまま不要な行を削除できるため、実務でのデータ整理作業を大幅に効率化できます。
説明
Excelで重複する商品番号を処理するフローを紹介します。
重複しているExcelの行を最後を残して削除する
業務の概要
以下のようなExcel表があるとします(実際は数百行)。
複数の商品番号が重複しており、空白行も含まれています。
重複している商品の行は、その商品番号が出現する最後の行だけを残して、他の行を削除します。
要件:
単純に重複を削除するのではなく、「商品番号が出現する最後の行だけを残し、それ以外の行を削除する」処理が必要です。
通常、以下の方法では対応できません。
- 並べ替え後、一括削除
- ピボットテーブルやAccessを用いた処理
なぜなら、実際の業務では並び順を変えずに、物理的に行を削除する必要があるためです。
業務の課題
この処理は、商品データを自動転記する過程で高頻度で発生します。
手作業で行うと、以下のような手順が必要になり、工数が大きくなります。
- 重複している商品番号を探す
- フィルターをかけて、不要な行を削除
- これを重複がなくなるまで繰り返す
Power Automate for desktop による解決
この課題を解決するために、Power Automate for desktop で以下の手順を実装します。
Excelデータを読み込む
- 商品番号が格納されたキー列(Key列)を取得
- データテーブル [ExcelData] に保存
行番号を追加する
- データテーブルに列 [Seq] を追加
- 各行に一意の行番号を設定
商品番号で昇順ソート
- 同じ商品番号が連続するように並び替え
削除・残すフラグを設定
- 列 [Flg] を追加(削除するか残すかのフラグ)
- ルール:
- キー列の中で一番 [Seq] が大きい行を「残す(Rem)」とする
- 空白行は 強制的に「削除(Del)」 とする
降順ソート(削除の順番調整)
- [Seq] の降順で並べ替え(削除の際にズレを防ぐ)
削除対象を絞り込む
- [Flg] =「Del」 の行のみを抽出
- 行番号の大きい順から順番に削除
- ⚠ 小さい順で削除すると行番号がずれるため、誤動作の原因に!
フローの動作
このフローを実行すると、Excelの「重複削除.xlsx」を開いた状態で処理が開始されます。
ファイルを開いたまま実行してください。
動作結果:
- 商品番号がユニークになり、最後の1行のみ残る
- 空白行も自動で削除
追加機能:
処理の途中経過を確認できるよう、ワークシート「Test」に一時的なデータを書き出します。
フローの解説
検証環境
- Power Automate for desktop バージョン:V2.52~
- 検証OS:Windows10 Pro/11 Pro
- Excel:Microsoft365(バージョン2412)64ビット
ダウンロードに含まれるファイル
- Main.txt:Power Automate for desktop フローのソース
- 重複削除.xlsx:サンプルExcelファイル
使用方法
- 圧縮ファイルの解凍
ダウンロードされた圧縮ファイルを任意の場所に解凍してください。 - Excelファイルの配置
フォルダーに含まれる「重複削除.xlsx」を以下のフォルダーに配置してください。
ドキュメントフォルダー\PAD\Data - フローの復元
- Power Automate Desktopで新しいフローを作成
- Main.txt の内容をコピーし、メインフローに貼り付け
- フローを保存
- フローの実行
- 圧縮ファイルの解凍
動作保証ポリシーおよび著作権について
動作保証ポリシーおよび著作権についてをお読みください。
すぐダウンロードして、Excel業務の自動化を体験しましょう!