見出し画像

【シリーズ】事務職でもラクしていい!―3. 実は高性能。テキストエディタ活用法 ―

キーワード:【メモ帳, テキストエディタ, 置換, 正規表現】

この記事は、『【シリーズ】事務職でもラクしていい!』と題して、一生懸命仕事をしても作業の終わらないあなたへ、時間を捻出する為のちょっとした小技をお教えします、という内容となっています。

目次はこちらのリンクから飛ぶ事が出来ますので、ぜひ他の小技も覗いて見て下さい。

この記事で1人でも、たった数分でも、作業時間が短くなる事を願っています。

■ メモ帳って使っていますか?

パソコンを使っている方であれば、メモ帳(notepad.exe)は一度は使った事があるソフトではないでしょうか。Macの場合はテキストエディット(TextEdit)という名前ですが、どちらもOSに標準で付いているソフトです。

機能は至ってシンプルで、文字を書いたり表示したり出来るだけで、ソフトの見た目も非常にシンプルです。(厳密にはテキストエディットはリッチテキスト形式も扱えるらしいですが、ここでは割愛)

大抵の方は、Readmeのような説明書を読んだり、ちょっとしたメモやパスワードを保存しておく為(※良くないのでパスワード管理ソフトを使いましょう!)に使う程度で、がっつり作業に使う様な事はないと思います。

私はWindowsユーザですが、ほとんどメモ帳を使う事はありません。『2. コピペとショートカットと回り道』で紹介した、数式のコピペに使う時くらいでしょうか。

ですが、メモ帳の進化版に当たる高機能テキストエディタという物があり、私はこちらをよく使っています。これを使うと今まで面倒だった事務作業が、驚くほど楽になります。

そこで今回は、このテキストエディタについて紹介したいと思います。

■ メモ帳の進化版。高機能テキストエディタとは

テキストエディタとは、テキストファイル(文字情報)を編集出来るソフトウェア全般を指します。先ほどのメモ帳やテキストエディットも、テキストエディタの一種と言えるでしょう。

その中でも、文字の編集に関する機能が豊富にあるソフトを総称して高機能テキストエディタと呼びます。

主にコード(プログラム)を取り扱うプログラマやWebデザイナといった職業の方や、文筆業の方が良く使っているイメージがある一方、事務職など一般の方々にはあまり知られていないソフトだと思います。

ただ、うまく機能を使えばこういった職業の方でなくても、たくさんメリットがありますので、是非使って欲しいと思っています。

因みに私は就職してから、サクラエディタさんという無料のソフトを愛用させて頂いています。今回はこのサクラエディタを例に、テキストエディタの活用方法を紹介したいと思います。

因みに、世の中には無料から有料までたくさんのテキストエディタがあり、機能も特徴も様々です。小説を書く為の縦書きソフト(方眼レイアウト付)なんてものもあります。

「Windows テキストエディタ 正規表現」といった風に検索すれば、たくさん出て来ると思いますので、自分が気に入るソフトを探して見て下さい。この『正規表現』というキーワードは入れなくてもいいですが、この後詳しく紹介しますので、入れて検索する事をオススメします。

■ 高機能テキストエディタで何が出来る

ソフトによっていろいろな特徴があるのですべてを紹介するのは難しいのですが、ここでは大抵のソフトに付いている&事務作業に便利な2つの機能を紹介したいと思います。

1. 文字の変換

Wordやメールで文章を書いている時、数字や記号、アルファベット、カタカナで全角と半角が混じってしまう事はないでしょうか。意図せずとも変換ソフトのイタズラでそうなってしまったり、そもそもあまりその違いを気にしない方もいたりします。(因みに私は、ものすごく気になる質です)

高機能テキストエディタには大抵、『編集』や『変換』というメニューがあり、その中に「全角→半角」や「小文字→大文字」のような文言があります。

これを使うと、文章の中にある全角文字を半角に変換したり、小文字で書かれていたアルファベットを大文字に変換したり出来ます。

実はこれ、Microsoft Wordにも『文字種の変換』という名称で、標準搭載されています。

画像1

ただこれには1つ大きな落とし穴があります。それは、全角・半角変換のメニューに全角か半角かの2択しかない事です。

その前に、全角・半角について解説しておきましょう。

ひらがなや漢字は『全角』文字しか存在しませんが、以下の文字には『全角』と『半角』の2種類が存在します。

・ アルファベット (aとa、AとA)
・ 数字 (9と9)
・ 記号 ( () と())
・ カタカナ (カタカナとカタカナ)

 * 半角カタカナ表記は環境によっては文字化けになっているかもしれません

さて、これを踏まえて全角・半角変換をする場合、大きな問題が出てきます。

アルファベットや数字は半角を使うケースが多いですが、記号やカタカナは全角を使うケースが多い。つまり全角と半角が混在する場面が多いという事です。(もちろん会社のルールや個人の好みに依りますが)

先ほどの2択では、すべてどちらかに寄せられてしまうので、変換対象の文字を自分で探して選択しなければなりません。それは、非常に面倒くさいですよね。

では、一方のサクラエディタはどうでしょう。

画像2

カタカナと英数変換が個別に選択が出来るようになっています。ソフトによっては記号も別メニューになっているかもしれません。これであれば、全選択して一括変換というのも可能ですね。

2. 正規表現を使った置換

これもWordやメールにある機能ですが、『置換』という機能を使った事があるでしょうか。指定した文字を指定した別の文字に置き換えるという機能ですね。

ですが、これも正直なところ「帯に短し襷に長し」である事が多い機能です。

何せ指定した文字しか変換出来ないので、「1を○○に変換する」「Zと○○に変換する」という設定しか出来ず、「数字だけ変換したい」とか「アルファベットだけ」変換したいという事が出来ません。

ところがこれを解決する機能があります。

それが『正規表現』です。

この正規表現とは、文字をどのように表現するという世界的な『ルール』の事を指しており、この書き方のルールに対応しているソフトを使うと、置換機能でこの正規表現を用いる事が出来ます。

分かりにくいので、1つ例を挙げます。例えば、住所録の中に以下のようなデータがあり、表記を丁目での区切りからハイフンでの区切りに変えたいとします。

検索条件:1丁目1番地3号
置換後:1-1-3

ただ、世の中の住所は1丁目1番地3号だけではありません。いろいろな住所が存在します。これを正規表現は、記号と文字を使って、一括で表現する事が出来ます。

検索条件:(\d+)丁目(\d+)番地(\d+)号
置換後:$1-$2-$3

\dというのが数字、+は1つ手前の文字を1つ以上繰り返すと言う意味です。つまり、1番地だけでなく11番地や999番地でもヒットすると言う事です。

これに()(半角丸カッコ)を付ける事で、このヒットした文字を抜き出す事が出来ます。抜き出した物は順番に1,2,3という番号が振られるので、$1,$2,$3という形で呼び出す事が出来ます。

これをうまく使う事で、複雑な条件の文字列を一気に置換する事が出来るという事です。

■ 急がば回れ!テキストエディタで変換・置換をしてみよう

では、これらを使って具体的にどういった事が出来るか、書いて行きたいと思います。もちろん応用例はいくらでもありますので、以下をヒントに自分なりにアレンジしてみるといいと思います。

1. 変換で文章やExcelの表記をキレイに整える

さっきほど紹介した通り、全角・半角の変換がメインになって来ると思います。特に見出しで1. 2.と手入力していたり、図5-3のように日本語と英数が混在している場合、意図せずとも混在してしまうケースがありますので、おまじない代わりに実行するのも手かもしれません。

因みに、WordやExcelで書いた文字を変換する場合は、コピペで一旦テキストエディタに貼り付けて、変換してから戻すわけですが、文字の色やフォントサイズといった書式情報はこの作業で消えてしまいますので、要注意です。変換が終わってから見た目をキレイにするようにして下さい。

因みに私は半角カタカナアレルギーなので、半角カタカナの文章があったらとりあえず全角変換掛けるようにしています。(半分冗談・半分本気)

2. 正規表現で一気に文字を書き換える

2-1. 条件に合った文字を抜き出す

いろいろ使うシーンはあるのですが、最近よく使うのは海外からの日付データの書き換えです。

日本ですと、2020/12/29という表記が一般的ですが、海外になると12/29/2020とか29/12/2020なんて表記をしている国もたくさん存在します。

これを日付型で入力してくれていれば、書式変換でどうとでもなるのですが、システムから出力したファイルだと文字列型になっているケースが多く、Excelの書式変換が使えない事が多いです。

そんな時は、日付の列を全選択(D列ならDという部分を押す)してコピーして、テキストエディタに貼り付けて、正規表現で置換、その後全選択でコピーして、Excelに列全選択のまま貼り付けして戻す、という作業をしています。

置換に使う正規表現は、以下の通りです。

元データ例:12/29/2020
検索条件:(.*)/(.*)/(.*)
置換後:$3/$1/$2
変換後文字列:2020/12/29

. (ドット/ピリオド)というのは、何か1文字という意味です。英数でも記号でも日本語でもいいので、1文字という意味です。

* (アスタリスク)は、0回以上の繰り返しという意味です。なので、.*は1文字以上の文字列という事になり、.*/.*/.*はスラッシュで区切られた何かの文字列があればヒットすると言う事です。

\d*や\d+でもいいのですが、めんどくさいので、私は .* を多用しがちです。うまくヒットしない場合は、\dや+に変えるなどすればいいかなと思っています。

今回の例ですと、2020年が3番目に来ている為、これを1番目に移動させる為に、置換後は$3を1番前(2020/○/○)に持って行きます。同じように1番目にある12月は2番目に(○/12/○)、2番目にある29日は3番目(○/○/29)とします。

因みにこれを応用して、/ を年・月・日にしたり、- (ハイフン)に変えるなんて事も可能です。


2-2. 文の頭に文字を追加する

Excelでマニュアルを作っている時に、タイトル行に記号やスペースを入れたいなんて時があります。最初からそうしてればいいのですが、作り終えてから、入れたいなんて思う時があります。

そんな時はタイトルの列を一括コピペしてエディタに貼り付けたあと、『先頭に記号を挿入』して、Excelに戻すと言う事をしています。

元データ例:記号を追加する
検索条件:^
置換後:■
変換後文字列:■記号を追加する

文頭は^ (キャレット)で表します。この文頭を四角という記号に置き換えるという処理をここではしています。

本当はこれを応用して、1. 2.とか連番が入れば嬉しいですが、それはExcelの箇条書き機能をうまく使ってあげた方がいいかもしれません。


2-3. タブを制してExcelを制す

少し専門的な話になります。Excelってセルという枠の中にデータを入れていくと思いますが、これをエディタにコピペしたらどうなるでしょうか。こんな感じになります。

画像3

文字と文字の間に何やら記号が入っていますね。エディタによっては、空白みたいなスキマがある様に見えるかもしれません。

画像4

サクラエディタでは^と書かれていますね。これは2-2.で紹介した文頭を表す記号ではありません。これはタブを表す記号です。キーボードの左端になるTabというキーを押すと、入力出来る区切り文字です。スペース(空白)の親戚みたいな物と考えて下さい。

スペースもそうですが、実はこれ、文字の一種です。なのでもちろん、置換も可能になります。

元データ例:A1^  B1^  C1
検索条件:\t
置換後: (←半角スペースが入っています)
変換後文字列:A1 B1 C1

タブ区切りは\t(半角¥マークとt)で表します。検索条件に\tと入力すると、すべてのタブは置換後の文字(ここだと半角スペース)に置き換わります。

ではこれをExcelに戻したらどうなるでしょうか。先ほどのデータの下に貼って見ます。

画像5

なんとA,B,Cに区切られていたデータが、1つにまとまってしまいました。

このようにタブを消す事によって、複数の列に跨がっているデータを1つに集約する事が出来ます。


反対にタブを追加する事で、セルの位置をずらす事も出来ます。(行7, 8)

画像6

元データ例:A1^  B1^  C1
検索条件:\t
置換後:\t\t
変換後文字列:A1^^   B1^^   C1


2-4. 余分な改行を一括で消してみる

更に応用編。タブが文字である事が分かりましたが、実は改行というのも文字の一種です。

実はこの改行というのは全部で3種類存在します。難しい話は割愛しますが、ソフトやシチュエーションによってどれを使うかが異なります。Ctrl+Zで取り消しは効くので、後述の3パターンを順番に試して、ダメだったら別のを試して貰えれば良いと思います。もし詳しく知りたい人は「改行コード」でググってみて下さい。

それでは改行をタブで置換してみましょう。するとどうなるでしょうか。

なおサクラエディタでは、普通の改行は\r\nと表現します。

元データ例:
A1^  B1^  C1
A2^  B2^  C2
検索条件:\r\n
置換後:\t
変換後文字列:A1^  B1^  C1^  A2^  B2^  C2^

なんと、2行目にあったデータが1行目の後ろにくっついてしまいました。

画像7

これはC1の後ろに隠されていた改行がタブに置き換わった事で、2行目に表示ではなく、セルを分けるという風に意味が変わったからです。

元データ例:
A1^  B1^  C1\r\n (←実はC1の後ろに改行¥r¥nが隠されていた)
A2^  B2^  C2\r\n (←C2の後ろにも改行¥r¥nが隠されている)
変換後文字列:
A1^  B1^  C1^  A2^  B2^  C2^ (←Excel上だと分からないが、実はC2の後ろもタブに置き換えられている)


では、少し視点を変えて、Excelのセルの中で改行されている場合は、どうなるでしょう。

これもソフトにより表現は異なりますが、サクラエディタはこのようになります。

画像8

文字が""(半角ダブルクォーテーション)に囲まれて、改行が『L字の矢印』ではなく『下矢印』に変わっています。

この矢印の違いには意味があるのですが、とりあえずここでは、普通の改行とExcelのセルの中の改行は違う文字で表す程度に覚えておいて下さい。

普通の改行:\r\n (L時の矢印)
Excelのセルの中の改行:\n (下矢印)
*\r (左矢印)は今回は使わないので無視

画像10


では、このExcelのデータを置換した場合、どうなるでしょうか。

まず\nを半角スペースで置換すると、下図Excel3行目の通り、1行にまとまりました。

次に\nを\r\n(普通の改行)に書き換えたらどうでしょう。実は残念ながら下図9行目の通り変化がありません。実はこれ、文頭と文末にある""が『これは1つのセルに入れますよ』と言う意味だからです。

なので、\nを\r\nに置換した後、更に""を消してみましょう。これは置換でも手で消しても構いません。すると、下図A16,17,18行目の通り、3つのセル(3つの行)に分割する事が出来ました。

画像9

この様に、Excelのデータを一旦テキストエディタに貼り付け、正規表現で処理する事で、結果的に素早く作業が出来る様になります。

回り道をするので面倒に思う方も多いと思いますが、F2を押してちまちま修正するより100倍ラクですので、是非正規表現を試してみて下さい。


なお正規表現自体は非常に奥が深く、それだけで分厚い本が1冊出ている位の内容です。ですが、簡単な作業であれば、以下の記号さえ覚えてしまえば、大抵の作業は出来てしまいます。画像を保存して手元に置いておくといいかもしれません。

画像11


■ まとめ

具体的な内容を書いてしまったので、長くなってしまいました。ややこしければ、とりあえずテキストエディタをダウンロードするところまでやって、後は例を見ながら実際に試して見ると、分かりやすいかもしれません。

正規表現はエンジニアさんはよく使う機能なのですが、一般の方にはあまり知られていないと思ったので、紹介しました。少々専門的な内容が入っているので、取っつきにくいんですが、実は基礎的な所は簡単なので、食わず嫌いしないで貰えると嬉しいです。

ヘタにExcelの数式を駆使するよりも、こちらの方が軽く早いケースがありますので、急がば回れでトライしてみて下さい。



この記事が気に入ったらサポートをしてみませんか?