銀行振込の際、いざ振り込もうと思ったら振込先名(受取人名)に「ッ」や「ャ」などの小さなカナ文字(半角)が混じっていてエラーを起こしたことはないでしょうか。拗音や促音を表現するための小さなカナ文字は、「捨て文字」とか「小書き文字」とかいうんですが、銀行振込の依頼人名には使うことができません。総合振込や振込先の一括登録の際には、修正しておく必要があります。
とはいえ、これを目でチェックして修正するのは地味に大変です。置換機能を何度も実行するのも面倒ですから、なんとか数式を使って一括補正したいところです。
ところがこれ、UPPER関数のような既存の関数では修正できないんですよね。
では数式でどうやるかというと、古いバージョンの Excelでは、SUBSTITUTE関数をひたすらネストする以外ありませんでした。
=SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
A2,"ァ","ア" ),"ィ","イ" ),"ゥ","ウ" ),"ェ","エ" ),"ォ","オ" ),"ッ","ツ" ),"ャ","ヤ" ),"ュ","ユ" ),"ョ","ヨ"
)
半角カタカナで使われそうな文字だけに限定しても、こんな感じです。見るだけで嫌になりますね。
しかし、Microsoft365ならそんな面倒な計算はいりません。
=LET(
_a,ASC(A2),
_b,"ァアィイゥウェエォオッツャヤュユョヨ",
_c,SEQUENCE(LEN(_b)/2,,,2),
REDUCE(_a,_c,LAMBDA(x,y,
SUBSTITUTE(x,MID(_b,y,1),MID(_b,y+1,1)))
)
)
これでおしまいです。
「SUBSTITUTE(x,奇数の字,偶数の字)」を繰り返しているだけなので、1文字の置き換えなら、「_b」のところに「ぁあ」のように追加するだけで修正できてしまいます。