見出し画像

マクロもスクリプトも翻訳も使わない力づくの方法 カナからアルファベットへ

 こんばんは🙏
 エクセル(Excel)の関数の組み合わせで、かな文字をローマ字にする方法の一つを紹介します。



はじめに

 今日はマクロもスクリプトも翻訳機能も使わない、関数の組み合わせで漢字や読み仮名をローマ字変換する簡易な手段を紹介します。一ブックにスプレッドシート二枚分使う予定です。

この手段を考えたきっかけ

 カナ文字をローマ字順に読み替える必要が出たため。
 翻訳機能も使ったが、姓名が逆になったり、英語表記になったりしたため。

用意するもの(例)

 漢字と読み仮名リストがついたスプレッドシート(シート1)。mid関数を活用してカナを一文字ずつセルに分散させておきます。読み仮名を横方向固定の参照形式で分散させておきます。何文字目なのかわかるように上の行にオートフィルで連続する自然数を入れ、縦方向固定で参照させます。文字数は1セルに1文字なので1を指定します。

(注)たとえばA1番地へのセル参照を横方向に固定したいときは$A1、縦方向に固定したいときはA$1、動かしたくないとき(絶対参照)は$A$1とします。パソコンのキーボードならば番地を入力したあと、F4キーを押す度に参照の種類が切り替わります。

 読み仮名、対応したアルファベット(綴り方はお好みで)、それぞれ一列ずつ用意します。phonetic関数を使うと全角カナを取り出せます。
カナはここでは全角カナで統一しておきます。参考までにJIS関数を使うと半角カナを全角カナにできます。(シート2)

カナからアルファベットへ

 シート1の任意のセルに、index関数とmatch関数のネストを用意します。
 一番大事なのはこのネストの参照先です。index関数の絶対参照範囲は。
シート2のアルファベットの列です。
 ネストでindexの中に入っているmatch関数には、シート1のカナを参照させて、シート2のカナに対応した列も絶対参照範囲にします。
 好みがあればvlookup関数を使ってもいいです。列を参照することには変わりないです。
 index関数を入れたら文字数の分だけ横にドラッグします。すると、対応するアルファベットが表示されてきます。
 今度はconcat関数で、セルに分散したアルファベットをひとつにまとめます。
 concat関数をproper関数の中に入れて、先頭文字が大文字になるようにすれば1行目完成です。アルファベット変換したい件数分、1行目から終わりの行までドラッグすると変換結果が得られます。

おわりに:変換結果の活用法

 もしアルファベットから関数の数式を除いて他のセルにペーストしたいときには、テキスト形式でペーストするとき良いでしょう。
 細かい手直しは手入力や範囲指定して一括置き換えすると良いですね。

2024/02/22 ここまで

いいなと思ったら応援しよう!