テキストエディタ秀丸での変換・削除

今まで、文字を別の文字に変換するなどは、検索・置換で行ってきた。

今回、18000件を超える大量のエクセルデータの列から、半角カタカナを全角にするに当たり、エクセルのVBAでなんとかできるかな?くらいに考えていた。ところがその列には半角カタカナにくっついて、数字と漢字まである。なかなか手ごわい。

いろいろググっていて、秀丸で不要な文字を削除、半角カナを全角に変換するというのがあり、今まで余り考えたことがなかった。今回その方法で行ってみた。何度かやり直さなくてはならないことも生じたので、注意することも含めて確認の意味でここにまとめておく。

変換したい列をコピーして、秀丸に貼り付ける。その後は置換という形て削除したい文字を空白文字に置換する。

置換で行える検索文字の設定について

アルファベットの削除なら[a-z] 数字の削除なら[0-9] 「・」「・」「,」は普通に「・」「・」「,」を検索して削除で良いが、
ピリオドの削除は注意
「.」だけを入力して置換を空白にして置換すると、行全体の文字が削除される。ピリオドだけを削除するときは「\.」(「\」は円記号ー以下同じ、にピリオド「.」)と検索文字に入力して空白文字に置換
()を削除するには「\(\)」と検索文字に入力して空白に置換
http://www.shuiren.org/chuden/teach/hidemaru/seiki/index-j.html#chuui
すべての漢字を削除 [亜-黑] [ぁ-ん]    全角ひらがなを検索
[ァ-ヶ]    全角カタカナを検索

という設定ができるということで、今回はじめて利用した。

また半角カナを全角に変換するのは

文字を選択して編集>変換>カタカナのみ全角、と選んでクリックすれば半角カタカナが一気に全角に変換される。

秀丸のメニュースクリーンショットは、Win10に標準装備(アクセサリ内)のSnipping Toolを利用して撮る。普通にはCtrl(あるいはAlt)+PrtSCでスクリーンショットを撮影するが、メニューの場合はCtrl(あるいはAlt)を押した時点でメニューが消えてしまって写せなかったのが、Snipping Toolで撮ることができた。

 

エクセルのセル内の文字列を特定の文字で改行する

月の行事予定表などを作るのに、一つのセルにいくつかの項目を◆などの区切り文字を入れて作成することがある。もちろんスペースでも構わないのだが、それを別のシートなどで見やするするために、◆で改行させる方法を覚えのために書きます。

今日の日今日の日
88そろばんの日◆ひげの日◆親孝行の日そろばんの日
ひげの日
親孝行の日
89長崎原爆記念日◆ムーミンの日◆はり・きゅう・マッサージの日長崎原爆記念日
ムーミンの日
はり・きゅう・マッサージの日

 

C列が行の高さを節約するために、◆によっていくつかの項目が続けて入力されている。
D列はそのC列を関数を使って改行した状態。

その関数は次のように入力されている。

今日の日今日の日
88そろばんの日◆ひげの日◆親孝行の日=SUBSTITUTE(TRIM(C4),"◆",CHAR(10))
89長崎原爆記念日◆ムーミンの日◆はり・きゅう・マッサージの日=SUBSTITUTE(TRIM(C5),"◆",CHAR(10))

 

改行を行うD列の表示設定は、「折り返して全体を表示する」に設定しておくこと。

TRIM関数で文字列から余分なスペースを取り除きます。

CHAR(10)は、セル内改行のAlt+Enterを意味します。

SUBSTITUTE関数は、=SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)という置換の働きをします。したがって、◆を検索して、それを改行マークに変えます、ということになる。