特別企画
Excelのお株を奪う? 「EmEditor」は連番入力や氏名の分割・結合も自動化できる!
表データを手早く整形・加工できるオートフィル・フラッシュフィルを活用しよう
2018年3月27日 06:55
老舗のテキストエディター「EmEditor Professional」の魅力は、テキストの編集機能はもちろん、CSV形式をはじめとするテキスト“データ”の処理機能が充実している点と言えるだろう。“窓の杜”では、このテキストデータ処理の機能にフォーカスし、具体的な利用方法と使いこなしを何回か紹介してきた。
- CSVの整形ならExcelよりもおすすめ ~「EmEditor」の自動化機能で作業を効率化! - 窓の杜
- 【特別企画】もう「Excel」はいらない? 最強CSVエディターと化した「EmEditor」を使いこなす - 窓の杜
たとえば、「EmEditor」にCSV形式のテキストファイルをドラッグ&ドロップしてみよう。すると、[CSV/並び替え]ツールバーで[カンマ区切り]オプションと[セル選択モード]が有効となり、エディター画面が表計算ソフトのように行・列で分割されたセル表示になる。カーソルキーを押せばセルのフォーカスが移動し、[セル]ツールバーにセルの内容が表示されるはずだ(このツールバーが邪魔ならば、非表示にすることも可能)。そのまま文字を入力すれば、セルの内容を書き換えることもできる。テキストエディターなのに、まるで「Microsoft Excel」のような使い勝手だ。
ちなみに、[セル選択モード]を無効化すると、区切り文字のカンマが現れ、選択はセル単位ではなくテキスト単位で行われるようになる。[カンマ区切り]オプション(CSVモード)も解除して通常モードへ戻せば縦線も消え、“テーブルデータ”ではなく単なる“テキストデータ”として扱われるようになる。「EmEditor」ならばCSVを“テーブルデータ”として扱うのも、“テキストデータ”として扱うのも自在。こうした柔軟性は「EmEditor」ならではと言えるだろう。
しかし、驚くのはまだ早い。現行版の「EmEditor」には、“オートフィル”や“フラッシュフィル”といった「Excel」でお馴染みの機能まで搭載されているのだ。
“オートフィル”を活用すれば、マウスのドラッグ操作で連番を挿入するといった操作が可能。“フラッシュフィル”を使えば、たとえば氏名フィールドを姓と名、2つのフィールドに分割したり、逆に姓フィールドと名フィールドを結合して1つの氏名フィールドを作成するといった処理もお手の物だ。
“テキスト”データの処理ならば、表“計算”ソフトである「Excel」よりも、“テキスト”エディターである「EmEditor」の方が向いている――ということは再三解説してきたが、もしかすると“オートフィル”や“フラッシュフィル”といった「Excel」の便利機能が手放せなくて、「EmEditor」に移れなかったというユーザーもいたのではないだろうか。
そこで本稿では、“オートフィル”“フラッシュフィル”が「EmEditor」でも快適に利用できることを示す。“オートフィル”や“フラッシュフィル”という機能を初めて耳にしたユーザーも、ぜひ本稿を参考に覚えていただければ幸いだ。「Excel」を使うにしろ、「EmEditor」を使うにしろ、マスターしておいて損はない。
隣接したセルに連続データを自動入力する“オートフィル”
“オートフィル”とは、隣接したセルに連続データを自動入力する機能だ。連番の数値、日付、曜日などを一気に入力したい場合に威力を発揮する。実際に手を動かした方がわかりやすいので、さっそく使ってみることにしよう。
まず「EmEditor」で新規ドキュメント(タブ)を作成し、[CSV/並び替え]ツールバーで[カンマ区切り]オプションを有効化する。すると、編集画面が通常モードからCSVモードへ変化する([セル選択モードも]も同時に有効化される)。
次に、セルの中に“1”と入力する。続いて、セルの右下にある四角い点“フィルハンドル”をマウスで掴み、下の方へドラッグしてみよう。すると、新しい行が自動で追加され、セルの中に“1”という数値が入力されるはずだ。
数値を連番で入力したい場合は、“フィルハンドル”右下に表示されるボタンをクリックしてプルダウンメニュー(フィルオプション)へアクセスし、[セルのコピー]モードから[連続データ]モードへ切り替える。すると、セルに自動入力された数値が連番に書き換えられる。
また、“オートフィル”は複数のセルを選択して行うこともできる。新しいドキュメントを作成してCSVモードを有効化し、今度は[Shift]+[Enter]キーでいくつか行を追加して、一番上のセルに“1”、その下のセルに“2”と入力してみよう。次に、この2つのセルを選択して“フィルハンドル”を下向きにドラッグする。すると、“3”、“4”、“5”という連番データが自動で挿入される。
連番データになっているのは、「EmEditor」が気を利かせて自動で[連続データ]モードにしてくれているからだ。“フィルオプション”で[セルのコピー]モードへ切り替えれば、“1”、“2”、“1”という繰り返し入力になる。
つまり、“繰り返し”入力を行いたい場合は[セルのコピー]モードを、“連番”入力を行いたい場合は[連続データ]モードを利用すればよい。
[セルのコピー]モードと[連続データ]モードの切り替えは、「EmEditor」が状況に応じて適宜切り替えてくれるが、先ほど紹介した“フィルオプション”や装飾キーを利用すれば明示的に指定することもできる。装飾キーを利用する場合は、[Ctrl]キーを押しながらドラッグすれば[連続データ]モード、[Shift]キーを押しながらドラッグすれば[セルのコピー]モードとなる。
また、“フィルハンドル”をダブルクリックすると、一番下のセルまで自動でオートフィルされるのも覚えておくとよいだろう。たくさんの行に“オートフィル”を適用する場合であっても、延々と下までドラッグする必要はない。これは「Excel」にない機能で、「EmEditor」ならではの便利な機能だ。
これらのマウス操作による“オートフィル”にどうしても慣れない場合は、[CSV/並び替え]ツールバーの[オートフィル]ダイアログを利用してもよい。“オートフィル”の向きやタイプ(コピーまたは連番)、連番であれば増加量、フィルするセルの数などを指定することができる。
以上が“オートフィル”の基本的な操作となる。一度覚えてしまえば、繰り返しや連番をいちいち手入力するのがバカらしくなってしまうはずだ。
この“オートフィル”機能はなかなか頭がよく、“項目1”“項目2”といった数字以外の混じったデータであっても、数字部分を自動で認識して連番にすることが可能。
また、“1”“3”という2つのセルを選択してドラッグしてやれば、“5”、“7”、“9”と奇数がフィルされるようになる。選択したセルのデータから自動で法則性を見出し、それに従って連番(この場合は奇数の、1つ飛びの)を挿入できる。
同じように、“100”“99”というセルをドラッグしてやれば、“98”、“97”、“96”と降順のデータがセルに埋め込まれる。“100”というセルを上方向にドラッグして、前述した[連続データ]オプションを利用してやっても“98”、“97”、“96”と降順にデータが挿入される。
ちなみに、“オートフィル”は縦方向(行)のドラッグだけでなく、横方向(列)のドラッグでも利用可能。説明の都合上、縦方向のドラッグしか解説していないが、横でも問題なく利用できるので活用してほしい。
既存データから法則を見つけ出し、それに従って自動入力する“フラッシュフィル”
一方、“フラッシュフィル”は既存のデータから法則を見つけ出し、それに従ってデータを自動入力する。これだけではわかりづらいので、サンプルデータを用いて実際に“フラッシュフィル”を実演してみよう。
今回用意したのは、顧客の氏名や住所、電話番号などをまとめた名簿だ。しかし、この名簿は氏名が1つのフィールドにまとめられてしまっている。姓と名は半角スペースで区切られているが、これを2つのフィールドに分割したい――こういう時に活躍するのが、“フラッシュフィル”だ。
まず、氏名フィールドの隣に新しい列を追加する(列ヘッダーの右クリックメニューなどを利用するとよい。右側に列がなければ、列ヘッダーのダブルクリックでも作成できる)。次に、新規追加した列の1行目(ヘッダー行の下)のセルに姓だけを入力しよう。
出口 愛,出口
これで、「EmEditor」が
“姓 名”→“姓”
という法則性を把握できるようになる。
あとは、[CSV/並び替え]ツールバーにある[フラッシュフィル]ボタンを押せば、新規追加した列に姓だけがフィルされる。名も同様にボタン一発で自動入力することが可能だ。
また、“フラッシュフィル”は分割だけでなく結合も可能。2つのフィールドを単に合体させるだけでなく、他にもさまざまな加工に使える。たとえば、先ほど自動作成した姓・名フィールドを新しいドキュメントにコピーして、
出口,愛,出口愛様
というデータを最初の行に入力してみよう。つまり、
“姓”“名”→“姓名様”
という法則性を与えてやるわけだ。この状態で“フラッシュフィル”を実行すれば、“姓と名の間に半角スペースを入れず、末尾に敬称を加える”という操作が可能。肩書きフィールドのあるデータならば、それを加えることもできるだろう。顧客データから送り状のデータを作成したいといった場合に役立つだろう。
また、“フラッシュフィル”は電話番号の加工にも使える。たとえば、ハイフン区切りの電話番号をカッコ書きにする場合を考えよう。残念ながら、以下のように記述しても一度に変換することはできない。
03-3972-xxxx,03(3972)xxxx
しかし、市外局番・市内局番・加入者番号の3つに一旦分割してから結合すれば、簡単に実現できる。
03-3972-xxxx,03,3972,xxxx,03(3972)xxxx
これを応用すれば、単にハイフンを抜いたり、国番号を追加して国際電話対応にしたいといったケースにも対応できる。
“フラッシュフィル”は“オートフィル”に比べると少し高度で、利用頻度も少なくなるが、このような操作をテキストエディターの[置換]コマンドだけで実現するのは厄介だ。覚えておけばかなりの効率改善になる。
Excelが勝手に解釈してしまう“0”で始まるデータや分数のデータもそのまま扱える
以上、“オートフィル”と“フラッシュフィル”の使い方を紹介した。これら2つの技を身に着けていれば、名簿をはじめとするデータの作成や整形、加工に大いに役立つのが実感いただけただろう。「Excel」ですでにこれらの機能に親しんでいるユーザーならば、“オートフィル”と“フラッシュフィル”がテキストエディターでも利用できることに改めて驚いたかもしれない。
以下は私見であるが、計算の伴わないテキストデータの加工であれば、表“計算”ソフトの「Excel」よりも、“テキストエディター”である「EmEditor」が効率的であることは少なくない。
たとえば、「Excel」では“0001”“0002”“0003”といった連番データが“1”“2”“3”と解釈されてしまう。これは「Excel」が表“計算”ソフトであるが故だ。表計算ソフトは“計算”をするためのツールなのだから、データを“整数値”として解釈し、“計算”しやすいようにするのは当然ともいえる。しかし、これらのデータが“製品ナンバー”や“電話番号”であれば、先頭の“0”や桁の数にも意味があるわけで、勝手に“整数値”と解釈されては困る。
また、日付の書式が変ったり、分数が日付とみなされてしまったり、分数が勝手に約分されてしまうのも厄介だ。たとえば、“(販売実績)/(在庫数)”という意味で“2/10”と記録しておいたものが、勝手に“1/5”と約分されてしまっては、データの意味が変ってしまう。
その点、「EmEditor」はデータをテキストとしてしか扱わず、余計な“解釈”をしない。検索・置換コマンドや大文字・小文字変換コマンドといった、テキストエディター由来の強力な機能も流用できるのも利点と言える。これに加えて、“オートフィル”と“フラッシュフィル”といった「Excel」由来の便利な機能まで使えるのだから、もはや「EmEditor」を「Excel」に持ち替える必要はないといってよい。
“テキスト形式のテーブルデータを編集・閲覧するは「Excel」に限る”というユーザーはいまだ多い。「EmEditor」のユーザーのなかにも、“オートフィル”“フラッシュフィル”が便利で表の編集につい「Excel」を使ってしまうというユーザーは少なくないかもしれない。しかし、“計算”を要しないデータ編集にわざわざ表計算ソフトを持ち出すのは、それこそ“鶏を割くに焉んぞ牛刀を用いん”(『論語』陽貨第十七)である。動作の軽く、余計なことをしない、テキスト編集専用のツール「EmEditor」で手早く終わらせるに限るだろう。
[制作協力:Emurasoft, Inc.]