初心者からEmEditorの達人になる!
第4回
Excelを超えるCSV編集機能で生産性を上げる ~「EmEditor」の真の力を引き出す
オートフィル、フラッシュフィル、フィルター、スクリプトをマスターせよ!
2021年7月26日 06:55
脱「メモ帳」を目指す入門ユーザーのために、日本発の多機能テキストエディター「EmEditor Professional」でワンランク上のテキスト入力を指南する本特集。最終回となる今回は、「EmEditor」でよりハイレベルなCSV編集を行うためのノウハウを紹介する。
▼入力と変換のコツ
・連番を挿入したい
・セルデータの大文字・小文字を統一したい
・CSVフォーマットを変換したい
▼列と行を自在に操作
・2つの列を結合して1つの列を作りたい
・「姓名」の列を「姓」と「名」に分割したい
・目的の列だけ抽出したい
・重複した行を削除したい
▼高等テクニック
・「~以上、~以下」でフィルタリングしたい
・列の数値を小数第2桁までに四捨五入するには?
「EmEditor」はCSV形式のテーブルデータを「Excel」っぽく扱えるにもかかわらず、「Excel」のような余計な自動処理はなく、扱いやすいことは前回紹介した。それでいてテキストエディター由来の強力な機能(正規表現検索、フィルタリング)も併せ持っており、ときにはCSV機能を無効化して完全にテキストとして扱える柔軟性も備える。
今回はそれを象徴する、上級者向けの機能をピックアップした。前回に引き続き、Q&A形式で紹介していこう。
入力と変換のコツ
「EmEditor」は、テキストエディターとしての変換機能と「Excel」風の便利な機能をあわせもつのが特長だ。これらの機能を使いこなすことで、より効率的な作業が可能になるだろう。
【Q.】 連番を挿入したい
【A.】 「EmEditor」には「Excel」のような「オートフィル」機能が備わっており、マウスのドラッグ操作でデータを自動入力できる。たとえば左上のセルに「1」と入力し、それを選択する。続いて、セル右下にある四角い点(フィルハンドル)を右へドラッグしてみよう。すると新しい列が自動で追加され、セルの中に「1」という数値で満たされる(フィル)はずだ。
フィルハンドルのオプションでモードを[セルのコピー]から[連続データ]へ切り替えれば、「1」、「2」、「3」、「4」……と連番データを自動で挿入することもできる。
【Q.】 セルデータの大文字・小文字を統一したい
【A.】 CSVデータは「テキスト」であることを思い出そう。「EmEditor」の右クリックメニューには[選択範囲の変換]というコマンドがあり、[大文字に変換][小文字に変換][単語の最初の文字を大文字に変換]などが簡単に行える。これらのコマンドはCSVモードでも問題なく利用可能。先頭の空白や最後の空白を削除したり、全角・半角を統一することもできる。
【Q.】 CSVフォーマットを変換したい
【A.】 CSVデータのフォーマット(形式)をカンマ区切りからタブ区切りへ変更したいといった場合に便利なのが、[CSV/並べ替え]ツールバーにある[CSVコンバーター]コマンドだ。これを利用するとサイドパネルに変換ツールが表示され、変換先の形式を指定して[今すぐ変換]ボタンを押すだけの手軽な操作でCSVフォーマットの変換が行える。ついでに不要な引用符や埋め込み改行コードを削除したり、すべてのセルを引用符で囲むといった処理が行えるのも便利だ。
また、代わりに[編集]-[CSV]-[次のCSVに変換]コマンドを利用することも可能。操作に慣れてきたら、サイドパネルなしで変換できるこちらの方が使いやすいと感じるユーザーもいるのではないだろうか。
列と行を自在に操作
行と列の操作において「EmEditor」は「Excel」以上のパフォーマンスを発揮する。同様の機能でも処理が速いだけでなく、操作も簡単である場合が多い。
【Q.】 「姓」と「名」の列を結合して、「姓名」の列を作りたい
【A.】 [編集]-[CSV]-[列を結合]コマンドを使えば、簡単に2つの列を結合できる。
【Q.】 逆に、「姓名」の列を「姓」と「名」の2列に分割したい
【A.】 [列を分割]コマンドを使えば指定した区切り文字で列を分割できる。
「フラッシュフィル」は既存のデータから法則を見つけ出し、それに従ってデータを自動入力する機能で、「Excel」にも搭載されている。この機能を利用して「姓」と「名」の列を結合、「姓名」の列の分割を行うこともできる。
これを応用すれば、「(姓名)様」と敬称を付けた列を新規に作成することも簡単にできる
【Q.】 目的の列だけ抽出したい
【A.】 CSVデータのうち、特定の列だけが必要な場合は、[編集]-[CSV]-[列を抽出]コマンドを利用する。選択した列だけを抜き出して、新規ドキュメントに書きだすことが可能だ。
【Q.】 重複した行を削除したい
【A.】 重複した行を削除したい場合は、[編集]-[高度な操作]-[重複行の削除]コマンドが利用可能。[重複行の削除/ブックマーク(高度)]コマンドならば、より詳細なオプションのコントロールが可能だ。
高等テクニック
最後に、「Excel」でないとできないと思われがちな処理を「EmEditor」で実現する方法を解説しよう。ここまでマスターすれば、「EmEditor」の達人と呼ぶにふさわしい技術を身につけたと思っていいだろう。
【Q.】 「~以上、~以下」でフィルタリングしたい
【A.】 [フィルター]ツールバーの[数値範囲を使用する]ボタン(「[,]」というアイコン)をクリックし、[数値範囲を入力]ダイアログへアクセス。最大値と最小値を指定して[OK]ボタンを押すと、数値範囲を指定したフィルタリングが可能だ。
[フィルター]のプルダウンリストに直接「[min , max]」という形式で数値範囲を指定してもよい。
【Q.】 列の数値を小数第2桁までに四捨五入するには?
【A.】 少しトリッキーな方法になるが、テキストの置換機能とJavaScriptを組み合わせることで実現できる。
まず、四捨五入したい列全体を選択し、[置換]ダイアログへアクセスする([検索]-[置換]メニューまたは[Ctrl]+[H]キー)。続いて[数値範囲]ラジオボックスをクリック。[数値範囲を入力]ダイアロが表示されたら、[整数のみ]チェックボックスをOFFにし、最小値と最大値は空欄のまま[OK]をクリックしてダイアログを閉じる。[置換]ダイアログへ戻ったら、[検索する文字列]プルダウンリストに「[ , ]」と表示されているだろう。
あとは[置換後の文字列]プルダウンリストに「J parseFloat( 0 ).toFixed(2)」と入力。[選択した範囲のみ]チェックボックスがONになっていることを確認して、[すべて置換]ボタンをクリックすればよい。
「EmEditor」のスクリプトマクロに関しては、以前に紹介したことがある。もっと高度なテキスト加工を行ったり、定型作業を自動化したい場合などには参照してほしい。
[制作協力:Emurasoft, Inc.]