Excelファイルを一定行数で分割する|Power Automate for desktop 事例|フローダウンロード

Excelファイルを分割する作業を自動化しませんか?

Excel業務を効率化したいと考えたとき、「データを一定行数で分割する」という作業を自動化できれば非常に便利です。例えば、大量のデータをシステムにアップロードする際、システム側が一度に取り込める件数が制限されている場合に役立ちます。本記事では、Power Automate for desktopを使ってExcelファイルを簡単に分割する方法を解説します。

この記事を書いた人
この記事を書いた人
(株)完全自動化研究所・代表取締役社長の小佐井(こさい)
1974年生まれ福岡県出身。中学の頃プログラミングを独習し、みんなが自由で豊かに暮らす未来を確信していました。2000年からプログラマーとして現場でIT技術を身に付け、情シスに転職。多くの人がPCに時間を奪われている現状はナンセンスだと感じていました。
RPAを知り、子供の頃の理想を実現できると感じ、2017年に(株)完全自動化研究所設立。「自動化で人に自由に」の実現のためRPAによる業務自動化の書籍を6冊上梓しています。ご質問・お仕事のご依頼はこちら

Excelファイルを一定行数で分割する

業務の課題

「大量のデータを管理システムに取り込むために、Excelファイルを10件ずつに分割し、CSV形式で保存する作業を毎日行っている」というケースを想定します。例えば、以下のように33行のデータが入ったExcelファイル「分割元ファイル.xlsx」があるとします(図1)。

図1:分割元ファイル.xlsxの中身

この場合は10データのCSVファイルが3つ、3データのCSVファイルが1つ生成されます。これを手作業で行うのは非常に非効率でミスも起こりがちです。

Power Automate for desktopを活用した解決策

分割対象のExcelファイルを選択

ユーザーは画面から分割したいExcelファイルを選択します(図2❶)。この場合「分割元ファイル.xlsx」です。

図2:ユーザー設定画面-1

分割行数などを設定

分割対象ファイルにヘッダー項目がある場合は、[ヘッダー項目がある]にチェックを入れたままとします(図3❶)。「分割元ファイル.xlsx」の1行目にヘッダー項目があるためチェックを付けます。

[分割行数]には1ファイルに書き出す行数を設定します。10行ずつ分割したい場合は「10」とします(図3❷)。[分割後ファイル名]には、分割後に生成されるCSVファイルの名前を入力します。デフォルトでは「Separate」と入力されています(図3❸)。「Separate」とすると、「Separate_1.csv」「Separate_2.csv」…というようにファイルが作成されます。

分割後に生成されるCSVファイルにヘッダー項目を表示したい場合は、[ヘッダー項目を書き出す]にチェックを入れます(図3❹)。これにより、分割後に作成されるCSVファイルの1行目にヘッダーが入力されます。

図3:ユーザー設定画面-2

分割後のファイルを自動生成

すべての設定が完了したら、[Ok]をクリックします。[Ok]押下により、ファイルの分割が実行され、[分割対象Excelファイル選択]で選択したExcelファイルと同フォルダー内に分割後CSVファイルが生成されます(図4)。この例では、「分割元ファイル.xlsx」には33行のデータがあったので、4ファイルに分割されています。


図4:生成された分割後のファイル

分割後のCSVファイルの内容を確認

「Separate_1.csv」を開くと、ヘッダーが1行目にあり、データが10行格納されています(図5)。

図5:Separate_1.csvの中身

「Separate_4.csv」を開くと、ヘッダーが1行目にあり、データが3行格納されています(図6)。

図6:Separate_4.csvの中身

正しく分割されていることが確認できました。

ヘッダーを出力しない場合の分割後のCSVファイル

[ヘッダー項目を書き出す]のチェックを外すことで(図3❹)、分割後に生成されるCSVファイルにヘッダー項目が出力されません(図7)。ヘッダーがあるとデータを取り込めないシステムも存在するので、その場合はこのようにヘッダー無しのCSVファイルを使用することになります。


図7:生成された分割後のファイルの中身(ヘッダーなし)

自動化のメリット

1. 作業時間の大幅短縮

従来の手作業では、Excelデータを10行ごとにコピーして新しいファイルを作成し、名前を付けて保存する作業が繰り返されます。この作業には、データ量が多いほど時間がかかります。例えば、以下の状況を考えてみましょう:

  • 1ファイルに500行のデータがある場合:10行ごとに分割すると、50ファイルを作成する必要があります。
  • 手作業でこの作業を行う場合、1ファイルあたり0.5分かかるとすると、約25分の作業時間が必要です。

一方で、Power Automate for desktopを活用すると、わずか数秒で全ての処理が完了します。これにより、従業員の時間を他の重要な業務に活用できるようになります。

2. ヒューマンエラーの防止

手作業での分割作業では、以下のようなミスが発生する可能性があります:

  • データを誤ってコピーしてしまい、一部が抜け落ちる。
  • 分割行数を間違え、規定の行数で分割されない。
  • ファイル名の付け間違いで、後工程のシステムがファイルを認識できない。

自動化では、一度設定したフローが常に正確に動作します。人為的なミスを完全に排除し、正確で一貫性のあるアウトプットを保証します。

3. 効率化によるコスト削減

時間とエラーが削減されることで、直接的なコスト削減効果が期待できます:

  • 人件費の削減:時間短縮によって、従業員が同じ作業を繰り返す必要がなくなり、より生産性の高い業務に時間を割けます。
  • エラー訂正のコスト削減:エラーが原因で発生するやり直しや修正作業が不要になります。
  • システム効率の向上:正確なファイルが提供されることで、後続のシステム処理もスムーズに進みます。

動画で観る

フローをダウンロード

PADプレミアム会員の方は以下からダウンロードできます。
非会員の方は ダウンロード購入 できます。 プレミアム会員ならこのフローを無料でダウンロードできます。
会員プランを見る