Grepとは、多数の(複数の)ファイルの中から目的の文字列を検索する事で、「グレップ」と読んでいます。
この機能、テキストエディタでは当たり前の機能というか、無いと切羽詰まる超重要機能です。
しかし、テキストではなくて、相手が多数のExcelファイルだとどうやるのであろうか??
結論から言うと、ExcelのVBAで作った検索機能を使うのが確実です。
色々悩んだ結果、Windowsの検索機能ではイマイチ、テキストエディタのGrepでも一部やれそうなんですが、安定しない。
自分で作るのが筋なんでしょうが、ネットを調べると、GitHubに「ExcelGrep」を公開してもらっており、これを使わせて頂く事にいたしました。
感謝です。
ちなみに、ExcelGrep(エクセルグレップ)というネーミングは、どうも複数の方が思いついてらっしゃるみたいで、検索すると色々なExcelGrepがヒットして来るので混乱しないように注意が必要です。
↑私の選んだExcelGrepは、https://gist.github.com/TatsuoWatanabe/2ed13d04d9dd686e9b23206c88a7e1a4です。
ダウンロードさせて頂きます。
↑ダウンロードして解凍すると、フォルダの中に「ExcelGrep.xlsm」がありますので、これがアプリケーション本体となります。
↑アプリケーションを実行すると、検索画面が作りこまれたシートが開きます。
使い方はとても分かりやすくて、検索対象フォルダを選択し、検索条件を正規表現で入力し、検索実行ボタンを押下するだけです。
最初は使い方をガイドする目的だと思うのですが、初期値が入っているのが分かります。
↑実際に使ってみると、現在の.xlsx形式も、昔のバイナリ形式の.xls形式も両方大丈夫でした。
また、テキストの途中に改行コードが入っていても問題なく検索が出来ました。
結果は一覧表形式で表示されるのでとても分かりやすいです!!
■実際に検索してみる
↑上記内容の.xlsxと、.xlsを2ファイル用意して検索してみるとします。
■or条件の書き方 ↑ExcelGrepの検索条件は、Google検索のように空白でキーワードを区切る・・・ではなくて、ずばり正規表現が書くようになっています。 or条件で、「003か002かmoriに一致する内容を検索してね」だと、以下のようになります。 003|002|mori |
■and条件の書き方 ↑or条件は直感的なのですが、正規表現のand条件(に相当する記述)は若干長いです。 and条件で「002ともりもりの両方を含む内容を検索してね」だと、以下のようになります。 ^(?=.*002)(?=.*もりもり).*$ |
これと、YokkaGrepを組み合わせれば色々と安心な気がします。