このようなケースで、EXCELの「フィルタ機能」を使うことになるが、残念なことに複数の列にフィルタをかけると、すべての列に特定文字があるケースしか抽出できない。すなわち、AND条件で絞られることになってしまう。
どこかの列に探したい文字列が散在するケースを抽出できない(OR条件)。EXCELシートをSQLで検索すれば、可能だが、SQLの知識が必要となり、ハードルが高い。

やり方は、以下。
1)EXCELをCSVへ変換する。
セル内改行やセル内カンマを上手に除去する必要あり。詳しくは、これ。
EXCELで困ったときの小技 うまくCSV化できないなら、Rubyを使え
2)ルビー1行プログラムで複数列フィルタをかける。詳しくは、ここ。
ルビーワンライナー ルビー1行プログラミングで仕事を効率化
1行ルビーは、こんな感じ。
ruby -ne 'puts $_ if $_include ?("くるみ")' a.csv >o.csv
前提として。1)で作成した、a.CSVにはEXCELをCSV化したデータがある
ここで一息のコーナーです。
私のrubyバイブルは、Cuzicさんの
・Ruby on Windows ~rubyで丸投げルーチンワーク
マイコミ(毎日コミュニケーションズ)
WindowsのEXCELやInternet ExplorerでのRubyの活用方法が満載です。
0 件のコメント:
コメントを投稿