Excel解説記事


大量の置換作業が重くて進まないとき


エクセルの行数が2007以降では100万行にまで拡大しましたが、しかしですね、そんな大量のデータをスムーズにさばけるPCが一体この日本に何台あるんだと小一時間…

問い詰める暇もないほど忙しいわけですが、しかし何十万行にもなるデータを扱うことが求められる現場ではその重たさにもなんとか対応していかないといけません。

例えば、データの「置換」という機能。

ショートカット[Ctrl+H]で「検索と置換」という機能が立ち上がります。

「検索する文字列」に入力した文字列を「置換後の文字列」に入力した文字列に置き換えることができます。

しかしこの機能も何十万件にもなるデータに対して実行すると数分かかってしまうことがあります。

こうした場合はより速く処理できる方法が他にないか考えてみましょう。

置換の作業をエクセルで実現するには、他には関数を利用する方法があります。実はこちらのほうが処理は遥かに速くなります。


■SUBSTITUTE関数…文字列の置換えを行う関数

=SUBSTITUTE(文字列,検索文字列,置換文字列)

たとえば、エクセルのA列に都道府県名が50万行くらいまで入力されているとします。

この都道府県名から、「県」の文字を全部削除したいとします。

このとき、Ctrl+Hで呼び出す「検索と置換」機能で、「検索する文字列」に「県」、「置換後の文字列」を空白のままで実行すると、先ほど試したところでは約3分~5分ほどかかりました。
この時間はPCのスペックによって多少の前後はあると思います。

数分。

PCの前で処理が終わるのを待つには少々長い時間です。

では、かわりにSUBSTITUTE関数を使ってみましょう。

B列に、「県」の文字を削除した状態で書き出すことにします。

=SUBSTITUTE(A1,"県","")

この数式をB1セルに入力し、A列のデータ下端行までコピーします。

所要時間、実に2~3秒といったところでしょうか。

大量のデータ処理には確かにどうしても時間がかかってしまうことはあります。

同じ結果を得られる複数のアプローチを知っておくことは、このようなケースでも非常に役に立つものです。

【関連記事】
SUBSTITUTE関数



独学でやってきた方、体系的に学びたい方、もっと効率的に使いたい方へ…
過去10年間毎週開催・400回以上の開催で3700名以上が参加したExcelセミナーです。
実務直結・超実践型・一日完結・生涯無期限アフターサポートがついてます。





  • Excel学習法診断
  • 100の極意マスター講座
  • Excelショートカットマスター
  • おすすめショートカット一覧・壁紙ダウンロード
  • オリジナルExcelグッズ
  • Twitter:吉田 拳@Excelすごい改善社長
  • Excelで業務効率化を実現!
  • Excelで業務効率化を実現!
  • 約1万人の業務効率を劇的に改善!Excel速技BEST100
  • 資金繰り予報士 こがねむしクラブ