既にある住所録を使い年賀状印刷をする場合、番地の半角数字を漢数字にしたい場合があります、そのやり方を解説しています。
ここでは変換ではなく置換ができるExcelのSUBSTITUTE関数を使用します。
SUBSTITUTE関数の構文:
=SUBSTITUTE(文字列,検索文字列,置換文字列,[置換対象])
文字列:検索する文字列が含まれるテキストかセルを指定します。
検索文字列:文字列から検索する文字列を指定します。
置換文字列:置き換える文字列を指定します。
置換対象:(省略可能)検索文字列が複数見つかった場合、何番目の文字列を置き換えるか指定します。
E5セルに含まれる「1」を「一」に置換える式は、SUBSTITUTE(E5,"1","一")になります。
これを0から9まで作成すれば漢数字に変換できます。
方法はSUBSTITUTE関数を入れ子にします、入れ子とは関数内に関数を入れることです。
例えば1から3までの場合、SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E5,"1","一"),"2","二"),"3","三")になります。
この場合、E5セル内の「1」を置換した結果の文字列から「2」を置換、その結果の文字列から「3」を置換ます。
入れ子の数には限りがあります、その場合は今回のように、一部変換した結果のセルをさらに変換するように分ければ解決できます。
次のExcel技「住所録の郵便番号に「-」を追加し、「****-***」の形式にする」も参照してください。
住所欄の番地には、半角英数字が使われています。
この数値を漢数字に変換します。
住所1には、住所の1〜5の数値を漢数字に変換します。
住所2には、1〜5変換後の住所1から6〜0の数値を漢数字に変換します。
最終的に住所を変換した結果は住所2になります。
入力した数式です。 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E5,"1","一"),"2","二"),"3","三"),"4","四"),"5","五") 住所から、SUBSTITUTE関数で1〜5のそれぞれの数値を漢数字に変換しています。 6以上の数値は変換されていません。 |
入力した数式です。 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F5,"6","六"),"7","七"),"8","八"),"9","九"),"0","〇") 住所1から、SUBSTITUTE関数で6〜0のそれぞれの数値を漢数字に変換しています。 これで結果、1〜0の数値が変換できました。 下のように一度に1〜0を変換する数式を入力した場合、「指定した数式で使用されている入れ子のレベル数が、現在のファイル形式で許容される上限を超えているため数式を入力できません」とエラーになるので2回にに分けて変換しています。 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E5,"1","一"),"2","二"),"3","三"),"4","四"),"5","五"),"6","六"),"7","七"),"8","八"),"9","九"),"0","〇") |