ある方からご相談を受けました。
仕事で使う顧客リストの中の社名表記の中から「株式会社」などを除いて表示したい、さらにそれが前置なのか後置なのかも残したい、ということでした。

下図の社名リストは架空のものですが、会社名の前に「株式会社」が来る“前株”の社名もありますし、会社名の後ろに来る“後株”の社名もあります。

 

まず、「Excel オートフィル(2)」でご紹介した「フラッシュフィル」を試してみます。
B2セルに「狸小路商事」と入力し、[データ]タブ [データツール]-[フラッシュフィル]を適用してみました。
上手く変換してくれたのは、B4「東北機器」、B9「猫山物産」、B12「瑞江紙業」、B13「ハロー印刷」、B15「東京加工機協会」、B16「稲荷神社」で、上手く変換されないもののほうが多かったという結果になりました。
(個人的には、パターンが違うと思われるものでも変換され「フラッシュフィル」機能は凄いと思いました。)
パターンが複雑すぎて、「フラッシュフィル」による変換は断念しました。

それでは、順当な(?)方法で変換してみましょう。
まず、「株式会社」については「株式会社」「(株)」「㈱」、「有限会社」についても「有限会社」「(有)」「㈲」が使われていますので、それを統一してみましょう。
文字列の置き換えをしますので、「SUBSTITUTE」関数を使います。
単に「(株)」を「㈱」に置き換えるだけなら「=SUBSTITUTE(A2,"(株)","㈱")」のようにしますが、「株式会社」「(株)」と「有限会社」「(有)」を「㈱」と「㈲」に置き換えるなら 4重の入れ子(ネスト)になります。
「=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"(株)","㈱"),"株式会社","㈱"),"(有)","㈲"),"有限会社","㈲")」
この結果、下図のように変換されます。

 

薄く青色に色付けしたものが変換されたものです。

 

次に、会社の種別を表わす「㈱」や「㈲」が“前置”であるパターンについてそれを取り出してみます。
“前置”の「㈱」と「㈲」は先頭の 1文字目に来ているので取り出しは「LEFT」関数で簡単にできますが、B13~B17セルのようにそれ以外の会社名・法人名についても処理しなければいけません。
結果的に、次のようになります。
「=IF(LEFT(B2,1)="㈱","株式会社",IF(LEFT(B2,1)="㈲","有限会社",IF(MID(B2,3,2)="会社",LEFT(B2,4),IF(IFERROR(FIND("法人",B2),0)=0,"",LEFT(B2,FIND("法人",B2)+1)))))」

“前置”部分を取り出せれば、それを除いた社名部分は次のようになります。
「=IF(LEFT(B2,1)="㈱",TRIM(MID(B2,2,LEN(B2)-1)),IF(LEFT(B2,1)="㈲",TRIM(MID(B2,2,LEN(B2)-1)),IF(MID(B2,3,2)="会社",TRIM(MID(B2,5,LEN(B2)-4)),IF(IFERROR(FIND("法人",B2),0)=0,"",TRIM(RIGHT(B2,LEN(B2)-FIND("法人",B2)-1))))))」

「TRIM」関数は、単語間のスペースを1つ残し、不要なスペースをすべて削除します。
A3、A11などのように「~会社」と社名がそのまま連続するものもあれば、A4、A12などのように「~会社」と社名との間にスペースを入れているものもあるため、そのスペースを「TRIM」関数で取り除いています。

“後置”の「㈱」などについても同様に行います。
最後尾の文字が「㈱」または「㈲」であれば「RIGHT」関数を使って取り出します。
「=IF(RIGHT(B2,1)="㈱","株式会社",IF(RIGHT(B2,1)="㈲","有限会社",""))」

以降の手順は省略しますが、入力された文字列からそのパターンを見つけ出し、必要な文字列を抽出する作業は、このような顧客リストや名簿などではよく出てくる問題です。

上記は社名を例にしましたが、住所から都道府県名を取り出す、氏名から姓と名を分離するといったケースも同様です。
世に出ている Excel本の例題は、ほとんどパターンが決まっていて、1つか 2つの関数や操作でパッと変換できるものが多いですが、現場でのリストはもっともっと複雑です。

そして、ご相談の方のように、1,000を超える件数について処理しなければならないことがまま出てきます。
さらに、初期の想定パターン以外のパターンでデータが加わってくることもありますし、入力ミスなども多いです。

すべてを Excelの関数で変換・抽出すると考えず、大半のパターンに対処できる処理をし、その上でパターン外として残った少数のリストだけ手作業で処理するという割り切りも時として必要になるかもしれません。

Excelにも AI技術が入るようになれば、パパッと処理してくれるようになる時代が来るかもしれませんが、それまではステップごとに確実に変換する手順を踏んで処理していく必要があります。