Quantcast
Channel: なんでもエクセル(Nandemo Excel)
Viewing all articles
Browse latest Browse all 45

数式/関数:小文字のカナを大文字に修正する

$
0
0

銀行振込の際、いざ振り込もうと思ったら振込先名(受取人名)に「ッ」や「ャ」などの小さなカナ文字(半角)が混じっていてエラーを起こしたことはないでしょうか。拗音や促音を表現するための小さなカナ文字は、「捨て文字」とか「小書き文字」とかいうんですが、銀行振込の依頼人名には使うことができません。総合振込や振込先の一括登録の際には、修正しておく必要があります。

とはいえ、これを目でチェックして修正するのは地味に大変です。置換機能を何度も実行するのも面倒ですから、なんとか数式を使って一括補正したいところです。

ところがこれ、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」のところに「ぁあ」のように追加するだけで修正できてしまいます。


Viewing all articles
Browse latest Browse all 45

Trending Articles