いまさら聞けないExcelの使い方講座

【Excel】「㈱」「㍿」「株式会社」などの表記がバラバラ!エクセルの名簿で会社名の表記を統一するテク

「株式会社」や「(株)」など商号の表記を統一したい!

 顧客名簿の会社名の欄に、「株式会社 ●×商事」や「(株)●×商事」などの表記が混在していて、統一するのに手間がかかってしまったという経験はありませんか。複数の人が名簿の更新を繰り返していると、このようなことはよく発生すると思います。

 表記が統一されていないと気持ちがよくないですし、「㈱」や「㍿」などの機種依存文字が使われていたりすると、他のソフトウェアで使用することになった場合に文字化けしてしまう可能性もあります。適切な表記で統一されていたほうが管理しやすいですよね。

 表記を統一したい時に、[検索と置換]ダイアログボックスを使って検索・置換を行っているユーザーは多いと思います。しかしながら、置換したい文字列が複数ある場合(例えば、「㈱」と「㍿」を「株式会社」に変換したい場合)、1回ずつ検索・置換の操作をしなければならず、案外時間がかかります。

 そこで今回は、置換したい文字列が複数あっても一気に変換する方法について解説します。これを行うにはSUBSTITUTE(サブスティチュートまたはサブスティテュート)関数を使います。

SUBSTITUTE関数の基本の使い方

 置換したい文字列を複数指定して一気に変換する方法について解説する前に、まず、顧客名簿(①)の例を使って、SUBSTITUTE関数の基本的な使い方を見ていきましょう。

 最初に、置換後の文字列を表示するための新しい列(②)を作成しておきます。

 セルB3には「(株)狸小路商事」(③)と株式会社が略称で表示されていますね。これを「株式会社 狸小路商事」となるように文字列を置換して、セルC3(④)に表示してみましょう。

 セルC3にSUBSTITUTE関数を使って入力していきます。SUBSTITUTE関数は「=SUBSTITUTE(対象セル,検索文字列,置換文字列,置換対象)」という書式で記述します。1つ目の引数には、処理対象のセルを指定し、2つ目の引数には検索する文字列、3つ目の引数には置換後の文字列を指定します。最後の引数では、どの位置にある文字列を置換するのかを指定できますが、省略可能な引数なのでここでは扱いません。

 実際にセルC3に入力してみると、「=SUBSTITUTE(B3,"(株)","株式会社 ")」(⑤)となります。最初の引数には、処理対象のセル(B3)を指定し、2つ目の引数には検索する文字列「(株)」、3つ目の引数には置換後の文字列「株式会社 」を指定します。

 これで「(株)」という文字列を「株式会社 」に置換するという処理が実行されます。文字列はダブルクォーテーション(")で囲むことを忘れないでください。また、3つ目の引数の「株式会社」の後ろに1つ空白文字(ここでは全角の空白文字)を入れたのは、会社名との間にスペースを入れて表示したいためです。

 [Enter]キーを押して数式が確定されると、置換された文字列が表示されます。「(株)狸小路商事」が「株式会社 狸小路商事」(⑥)と変換されましたね。

 C列の他のセルにも数式をコピーします。セルC3を選択した状態でセルの右下にマウスポインターを合わせると、マウスポインターの形が変わる(⑦)ので、そのままセルC12までドラッグ(⑧)します。

 セルB7とセルB10にある「(株)〇〇」(⑨)という表記がセルC7とセルC10にそれぞれ「株式会社 〇〇」(⑩)と変換されて表示されましたね。

 ここまでで、SUBSTITUTE関数の基本的な使い方を理解してもらえたでしょうか。なお、前述の操作において、セルB7とセルB12の「㈱」は置換されていません。これらは機種依存文字を使った「㈱」のため、置換されなかったのです。次の項では、これらもまとめて置換されるように、置換したい文字列を複数指定して、一気に変換する方法について解説します。

複数の文字列を指定して置換する

 前述の例では、「(株)〇〇」は「株式会社 〇〇」と変換されましたが、機種依存文字を使った「㈱〇〇」(①)はそのまま残ってしまいましたね。この項では「(株)〇〇」も機種依存文字を使った「㈱〇〇」も、一度に「株式会社 〇〇」と置換する方法を解説します。

 先ほどと同じ「顧客名簿」の例で解説します。C列にSUBSTITUTE関数を使って入力していきます。今度は、セルC3に「=SUBSTITUTE(SUBSTITUTE(B3,"㈱","株式会社 "),"(株)","株式会社 ")」(②)と入力します(見た目が少しわかりづらいですが、先に出てくるのが機種依存文字の㈱、後に出てくるのが半角括弧を使った(株)です)。

 SUBSTITUTE関数の中にさらにSUBSTITUTE関数を入れることで(入れ子)、複数の文字列を指定して置換処理ができるようになります。入れ子の内側になっているSUBSTITUTEで機種依存文字の「㈱」を「株式会社 」に置換し(③)、外側のSUBSTITUTEで「(株)」を「株式会社 」に置換しています(④)。

 初めて見る読者は、複雑に感じるかもしれませんが、落ち着いてよく見てみてください。SUBSTITUTE関数を2回書いているだけなので、難しく思う必要はありません!

 [Enter]キーを押して数式が確定されると、文字列が置換されます(⑤)。

 続けて、数式を他のセルにもコピーします(⑥)。

 すると、「(株)〇〇」や機種依存文字を使った「㈱〇〇」という表記だった文字列がすべて「株式会社 〇〇」に変換されました(⑦)。

 複数の文字列の置換が一気にでき、効率に表記の統一ができましたね。

表記の統一にはSUBSTITUTE関数を使おう

 今回は、SUBSTITUTE関数を入れ子にして使い、複数の文字列を一気に置換する方法を解説しました。

 人間が入力しているかぎり、表記のばらつきはどうしても発生してしまうものです。表記の統一に困った際には、ぜひこのテクニックを使ってみてくださいね。

今月のExcelTips