このページの本文へ

Excelで処理できないビッグデータを無料で処理する方法

2015年07月21日 12時10分更新

記事提供:WPJ

  • この記事をはてなブックマークに追加
本文印刷

昨今「ビッグデータ」が騒がれており、普通のビジネスマンでもデータ活用の機会が増えていると思います。今回はデータ処理の時に陥りやすい「Excelで処理しきれないデータをどうすればいいか」という課題についてお話しします。

Excelで処理できなければプログラム言語で

よくある事例1:集計に使いたいローデータが104万行を超えている

多くの人がご存じのとおり、Excelの行数は104万8576行(Excel2007以降の場合)が上限です。上限を超えた分は表示されません。

WebのPV履歴を集計したいとき、Excelで一旦集計前のデータを取り込む必要があるのですが、それすらできない状況です。「集計後のたった10行くらいなのに…」なんて思われることはよくあるのではないでしょうか。

よくある事例2:Excelに読み込ませることはできるが、VLOOKUPやSUMIFなど関数を使うとExcelがフリーズしてしまう

実際はフリーズしていないのですが、見た目はExcelのウィンドウがホワイトアウトしフリーズしたように見えます。10万行ほどのデータでも、関数を駆使して加工や分析をするときにはかなりPCに負荷をかけてしまい、非常に時間がかかります。私はこんな現象が起きてしまったときはExcelを強制終了させています(笑)。

プログラム言語の活用

プログラム言語を活用すると、上記2つの事例は解決します。プログラム上に読み込ませられるデータの行数に制限はありませんし、ExcelのVLOOKUP関数のようなこともできます。「コードとか打ち込むの難しそう」と思われるかもしれませんが、Excelの関数も1種のコードなので大丈夫です(と自分に言い聞かせてください)。

プログラミングでデータ集計してみよう

それでは実際にやってみましょう。今回はWindows Powershell(以下Powershell)を使います。Powershellを使う理由は単純で、Windows7以降のPCにはプリインストールされているからです。PowershellはPC管理者用ツールとのイメージが強いですが、プログラミングもできます。さらに、マイクロソフト製なのでOffice製品との親和性が高く、ExcelやVBAの関数も使うことができます。

PowershellはWindowsの「スタート」→「プログラム」でファイルの検索窓に”powershell”と入力すると起動できます。データセットですが、以下のようなデータをtest.txtというファイル名でデスクトップ上に作成してください。なお、データの区切りはタブです。

IDPV
A1
B10
B100
C16

左列のABCが個人名、右列がPVだと思ってください。このデータをPowershellに読み込ませます。以下のコードを打ち込んでください

正常に完了すると以下のように表示されます。

このデータをID単位でPVを集計したいです。以下のコードを打ち込んでください。

こうするだけで、ID単位のPVが集計できました

集計結果をcsvに保存するのも忘れずに。

これで集計は完了です。

今回の例ではたった5行のデータですが、100万、200万の行数があるデータもPowershellをはじめ、各種プログラム言語は集計可能です。「ビッグデータを扱いたいけど、Excelの行数制限を超えるデータは扱い方が分からない」とあきらめていた人は、ぜひ一度やってみてください

この連載の記事

一覧へ
Web Professionalトップページバナー

この記事の編集者は以下の記事をオススメしています

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く