HAKADORI Script開発

半角カナを全角に変換【Excel 編】

2017.06.28 水

半角カナを全角に変換【Excel 編】

こんにちは、CMB室の藤田です。

Excel で半角カナを全角に置き換えるには、JIS 関数を使用するのが一般的です。セルの隣に列を挿入し、 =JIS([セル参照]) と関数を記述することで全角に変換された文字列が表示されます。

JIS 関数

JIS 関数で半角カナを変換

 

● JIS 関数で変換される文字

Excel ヘルプによれば JIS 関数の説明には

(略)文字列内の半角 (1 バイト) の文字を全角 (2 バイト) の文字に変換します。この関数の名前および変換する文字は、使用する言語の設定によって異なります。日本語では、文字列内の半角 (1 バイト) の英数カナ文字を全角 (2 バイト) の文字に変換します。
参照:JIS 関数 - Office サポート

とあります。カナ以外にも英数も含まれているということですが、どの文字が変換されるのでしょうか? 変換対応表が見当たらなかったので検証してみました。1から順に CHAR 関数で文字一覧をつくり(B 列)、JIS 関数で変換(C 列)し、変換された文字を CODE 関数でコード番号を返す(D 列)表を作成しました。

JIS 関数の変換対応表

JIS 関数の変換対応表

すると、英数カナ文字以外にもいくつかの記号が変換されたのがわかりました。また、CODE 関数で返すコードは環境にも依存するようです。いずれにせよ意図しない文字が変換されてしまうのが困ったところです。さらに、列を追加せずにセルの値を変換できないものでしょうか?

 

● NKF を使ってみる

発想を変えて、Network Kanji Filter こと NKF コマンドを使う方法を考えてみました。NKF とは異なる漢字コードを変換する Linux のコマンドです。Mac OSであれば ruby がデフォルトでインストールされているので呼び出して使用することが可能です。半角カナの全角変換処理はオプションの -X を指定します。このオプションは JIS X 0201 半角片仮名を JIS X 0208 に変換するのでいわゆる半角カナが対象となります。

Mac で使用するので今回は AppleScript で記述しています。サンプルコードは以下の通りです。

半角カナ置換 Excel の AppleScript コード

Excel で選択したセルの半角カナを置換します。

echo -n:末尾の改行を出力しない

/usr/bin/ruby -r nkf -ne
-r ライブラリ読み込み。
-n ループ
-e スクリプトを実行する(この後の'〜'の部分)。

'print NKF.nkf(\"-m0wWX\", $_)' :NKFを実行する。
引数
-m0:MIME のデコードをしない。
-w 出力コードを UTF-8 に指定
-W 入力コードを UTF-8 に仮定
-X JIS X 0201 半角カナを JIS X 0208 に変換する

※ 選択したセルのみ変換

Excel スクリプトメニューに入れてから実行すると、選択したセルの文字を全角に変換します。

このスクリプトはタクトシステムのHPで無料配布していますので、よろしかったらぜひダウンロードしてください。

 

Excel業務を効率化するならRPA

タクトシステムではExcel業務を効率化するRPA導入サポートを行なっております。
RPAはDX推進の基礎ツールとして注目を集め、多くの企業で導入が進んでいます。
生産性向上・業務効率化をご検討中の方はぜひご相談ください。

RPAの得意分野

システム入力(Excel帳票からの転記)
データチェック(システムとExcelのデータ突合せ)
ファイル作成・変換(Excel化・ファイル形式変換・リネーム後ファイル作成)

RPAの詳細はコチラ

 

【RPA導入サポート】お客様の声をいただいています!

RPAはエクセルファイルをつかむとか、システムではやりづらい部分をフォローアップしてくれます。(株式会社出前館様)

タクトシステムさんは、無料で業務ヒアリングをしてサンプルロボットを作ってくださるということで、それがとても大きかったです。(株式会社玉善様)

日報などの集計作業や、複数データのダウンロード等の作業を中心に、約2年で140体のRPAロボットを作成しました。これにより5000時間ほどの作業時間を削減でき、単純なヒューマンエラーがなくなりました。(株式会社フォーバルテレコム様)

その他の事例はこちらから

 
 

お問合せ

お電話でのご相談:03-3200-0490 受付時間 9:00〜18:00(土日, 祝日を除く)

 
 

-HAKADORI, Script開発
-, ,