Excelには、マクロで自動操作する機能がありますが、WindowsではJavaScriptを使って操作することもできます。今回は、JavaScriptを利用して巨大なExcelファイルを複数のファイルに分割するプログラムを作ります。

 よく、さまざまなデータが一枚のシートにぎゅっと記入されている巨大なExcelファイルがあります。そこから、特定のデータだけを取り出して利用したい場面があります。例えば、大きな顧客名簿があって、それを担当者ごとに分割して処理したいという場合です。それで、今回は、Excelファイルを担当者ごとに分割するプログラムを作ってみます。

元のExcelファイルを元に担当ごとにブックを分割します
元のExcelファイルを元に担当ごとにブックを分割します
[画像のクリックで拡大表示]

プログラム

 今回のプログラムは、こちらからダウンロードすることができます。プログラムを実行するには、サンプルのExcelファイル「sample.xlsx」を、メインプログラム「split-excel.jse」にドラッグ・アンド・ドロップします。すると、Excelファイルの6列目(F列)にある値に応じて、ファイルを分割します。

改良の方法

 メインプログラムの「split-excel.jse」で、プログラムの10行目付近でカラム番号を指定しています。もしも、別のカラムをキーにして、Excelのファイルを分割したい場合には、以下の番号を変更します。例えば、サンプルファイルの都道府県でファイルを分割したい場合、カラムのキーを5列目(E列)に変更するには、以下のようにします。

// 担当を記したカラム番号
// var col_no = 6;
var col_no = 5; // 5列目(E列)