Excelの名簿管理で、会社名に「㈱」や「(株)」が混在するリストを「株式会社」の表記に統一したいなど、表記揺れを修正する事例です。
新しい関数であるREGEXREPLACE関数を使用した方法です。
この方法は、複数の置換対象の文字列がある場合に「SUBSTITUTE関数」や「FIND関数とREPLACE関数」による方法と比較し、シンプルな数式で実現可能です。
内容:
動作確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2411)です。
アウトプットイメージと数式(SUBSTITUTE関数との比較含む)
次のように、㈱、(株)、「株式会社」で表記が統一されていない文字列について、「株式会社」に統一したいとします。
㈱○△
○△㈱
(株)○△
○△(株)
株式会社○△
○△株式会社
このようなときは、REGEXREPLACE関数を利用して、次のように記載します。
=REGEXREPLACE(対象セル,"㈱|(株)","株式会社")
もし、「SUBSTITUTE関数」で同じ結果を得るためには、
=SUBSTITUTE(SUBSTITUTE(対象セル, "㈱", "株式会社"), "(株)", "株式会社")
となります。複数の置換対象の文字列の数だけ、SUBSTITUTE関数をネスト(入れ子)で利用する必要があります。2つぐらいならいいですが、3つ以上となってくると冗長な数式になってメンテナンス性が悪くなります。
REGEXREPLACE関数の説明
この式の基本構文は、以下です。
=REGEXREPLACE(”置換対象の文字列”,"置換したいテキストのパターン(正規表現)","置換するテキスト")
置換したいテキストのパターン(正規表現)で、事例の"㈱|(株)"の箇所は「|」(パイプ)で、OR(または)を表現しています。具体的には正規表現というものの表示ルールに従います。
例えば、「㊑」も置換対象に含めたい場合は、
"㈱|(株)|㊑"
のように記載します。また、半角括弧を含む文字列の場合は次のように記載します。
"㈱|(株)|\(株\)|\(株)|(株\)"
置換対象に半角括弧を含む場合は、半角括弧の前に「\」(バックスラッシュ)をつけます。
REGEXREPLACE関数による表記揺れの修正例
「㈱、(株)」を含むいくつかのサンプルで「株式会社」に変換した事例は次のとおりです。赤字の箇所は、数式の比較でSUBSTITUTE関数を用いた事例です。
また半角括弧の表記ゆれも含む「㈱、(株)、(株)、(株)、(株)」を「株式会社」に変換した事例は次のとおりです。置換対象の文字列が5つです。
この場合、SUBSTITUTE関数(赤字の箇所)を使用すると、5回のネストをしており冗長になっています。
以上、名簿の表記揺れを修正する方法(会社名の㈱と(株)など混在)です。
「SUBSTITUTE関数」や「FIND関数とREPLACE関数」による方法で数式が冗長となったときの解決事例でした。