PHONETIC関数を使わない
ひらがな⇔カタカナ変換方法
1. はじめに
エクセルでひらがなをカタカナへ、或いはカタカナをひらがなに変換する場合、インターネットでどのサイトを開いても口を揃えた様にPHONETIC関数を使った説明がなされています。
ところがこのPHONETIC関数は、エクセルに文字を入力した際のカナ(振り仮名)を利用するため、他のアプリから入手した文章や文字には全く使えません。
例えば”かぜ”(或いは”風”)という文字がエクセル上にあったとしても、ローマ字入力で”kaze”(もしくは日本語入力で”かぜ”)という入力データが一緒に無ければ、ひらがなにもカタカナにも変換できないのです。
更に困った事に、たとえ自分で入力した文字であっても、関数を使って抜き出したり、加工した文字にも全く使えません。
それもそのはずで、”PHONETIC”の元々の意味は表計算に全く似つかわしくない”音声/発音”であって、漢字を使う日本と中国のエクセルにしかない、とても関数とは呼べない関数なのです。
恐らく日本と中国で、漢字の読みを表記するために強く要望され、英語圏のマイクロソフトがしぶしぶ応じたのでしょう。
ですので、他の関数とは全く連携が取れていないのです。
という訳で、ここではPHONETIC関数を一切使わないで、単純にひらがな⇔カタカナの変換方法をお伝えします。
あらゆる場合に有効で、且つ極めてシンプルですので、是非ご活用頂ければと思います。
2. ひらがな⇒カタカナ変換式
お忙しい方のためにストレートにお伝えしますと、PHONETIC関数を使わないでひらがな⇒カタカナ変換式は、以下の通りです。
=CHAR(CODE("あ")+256)
上の式の”あ”の部分に任意のひらがなを入れてエクセルに貼付すれば、カタカナの”ア”が出力される"と"いう訳です。
これをエクセルの表に入れると、以下の様になります。
すなわち、B4セルに入っている”あ”の文字が、C4セルでは”ア”になって出力されるという訳です。
3. ひらがな⇒カタカナ変換の応用
この場合1文字だけの変換ですので、実用性を考えて、今度は名前をひらがなからカタカナに変換する場合を考えてみましょう。
例えば、以下の様に”たなか”さんを、”タナカ”さんに変換してみます。
細かい説明は抜きにして、先に答えをお伝えすると以下の通りです。
先ず、D4~F4セルにおいて、MID関数を使って名前を一文字ずつに分解します。
次に、D5~F5のセルにおいて、ひらがなをカタカナに一文字ずつ変換します。
最後に、B5セルにおいて、”&”記号を使って、カタカナの名前を結合します。
これで、お分かり頂けましたでしょうか?
4. カタカナ⇒ひらがな変換
今度は逆に、カタカナ⇒ひらがな変換式は以下の通りです。
=CHAR(CODE("ア")-256)
ひらがな⇒カタカナ変換との違いは、-256か+256の差だけです。
そして、上の式の”ア”の文字の部分に、任意のカタカナを入れればひらがなの”あ”が出力されるという訳です。
その他は、ひらがな⇒カタカナ変換と同じですので、割愛します。
5. 変換できる理由
余り必要ないかもしれませんが、なぜCHAR(CODE("あ")+256)でひらがな⇒カタカナ変換ができるか簡単にご説明しておきましょう。
以下の表は、JISの2バイト文字コードの配列です。
日本語の文字はこの様に配列されており、それぞれの文字はその配列の順番にコードで呼び出される様になっているのです。
この中段部分に”ぁ あ ぃ い ぅ う ぇ え” 、その下段に”ァ ア ィ イ ゥ ウ ェ エ”と文字が並んでいるのが分かって頂けるでしょうか?
これらは丁度256文字分ずれて配置されているので、文字コードを256文字分足したり引いたりすれば、ひらがなとカタカナを入れ替える事ができるという訳です。
ちなみに、”あ”の文字コードは10進数で”9250”(16進数で”2422”)で、”ア”は10進数で"9506"(16進数で”2522”)と丁度256文字(9560-9250=256)だけずれています。
これでご理解頂けましたでしょうか?
これを使って簡単な暗号も作れますので、もし興味がありましたら次も覗いてみて下さい。
PHONETIC関数を使わない、ひらがな⇔カタカナ変換方法