表記ゆれ・余分な空白をそろえる整形を、AIと小さく試す手順
AIを使いこなす執筆にClaudeを使用しています。

結論から言うと、表記ゆれの整形は「元の列には触らず、隣の別列に関数で整えた結果を出し、前後を見比べてから採用する」やり方が安全です。揺れの種類ごとに使う関数が違います。一つの式で全部を直そうとせず、1列に1種類の揺れを割り当てると、どこで想定外が起きたか追えます。 AIに任せるのは、揺れのパターンの洗い出しと関数案の下書きです。人が確認するのは、整形後の値が本当に同じものを指しているかどうかです。たとえば「(株)山田商事」と「山田商事㈱」を同じ会社と判断できるのは、データの持ち主だけです。 この記事はExcelの関数を前提にしています。Google スプレッドシートの関数は確認していないため、扱いません。
揺れの種類別・関数の対応表(説明用)
下の表は、Microsoftの公式関数ページの記載に、使いどころの整理を加えたものです。「向かないケース」欄は編集上の整理で、公式の文言そのものではありません。
- 前後・連続する半角スペース、使う関数:TRIM、できること:前後の余分なスペースを消し、語間は1つ残す、向かないケース:公式は対象を7ビットASCIIのスペース(値32)とし、値160の改行しないスペースは削除されないと記載。全角スペースも対象外と考えられるので、試して確かめる
- 全角スペース、使う関数:SUBSTITUTE、できること:「 」を半角スペースに置換してからTRIMへ、向かないケース:置換後にスペースを残すか消すかは自分で決める
- 改行・制御文字、使う関数:CLEAN、できること:値0〜31の印刷できない文字を削除、向かないケース:値127、129、141、143、144、157は単独では削除されないと公式に記載
- 全角英数・カタカナ→半角、使う関数:ASC、できること:全角の英数字とカタカナを半角に、向かないケース:全角カタカナも半角カタカナになる
- 半角の英数カナ→全角、使う関数:JIS、できること:半角の英数カナを全角に、向かないケース:英数字も全角になる
- 「(株)」「㈱」など決まった語の揺れ、使う関数:SUBSTITUTE、できること:指定した文字列を別の文字列に置換、向かないケース:前株・後株の位置は変えられない
AIに渡す情報と、依頼文のひな形
渡すのは次の3点です。
- 列の見出しと、揺れが出ている行を5〜10行(実データではなく、似た形のダミーに置き換えたもの)
- 整形後にどうなってほしいか(例:会社名は「株式会社」と書く)
- 使うExcelの種類(Microsoft 365、2016など)
顧客名や取引先名は、ダミーに置き換えてください。AIサービスの学習設定や契約条件はサービスごとに違うので、実データは貼らずに済む形にしておくのが無難です。
依頼文はそのまま使えます。
Excelで、A列の会社名の表記ゆれを別列で整えたいです。
データは2行目から。元のA列は変更しません。
【説明用の例】
株式会社山田商事 ←先頭に全角スペース
(株)山田商事 ←半角かっこ
(株)山田商事 ←全角かっこ
山田商事㈱
【ルール】
- 前後の空白は消す。全角スペースは半角に置換する
- 「(株)」「(株)」「㈱」は「株式会社」に統一する
- 前株・後株の違いは関数では直さず、要確認として分かるようにしたい
【お願い】
1. B列(空白整理)、C列(社名統一)に分けた式を出してください
2. 各式が何をしているかを1行ずつ説明してください
3. この式で直せない揺れのパターンを挙げてください別列で整える手順
A列に元データがある前提です。以下の式は、公式の関数仕様に沿って組んだ例で、私が実行して確かめたものではありません。手順4で必ず試してください。
- 元データを守る:ファイルを複製するか、シートをコピーします。A列は編集しません。
- B列に空白整理の式を入れる(B2セル):=TRIM(SUBSTITUTE(SUBSTITUTE(CLEAN(SUBSTITUTE(A2,CHAR(10)," "))," "," "),UNICHAR(160)," "))先に改行を半角スペースに置き換えます。CLEANは改行を消すだけなので、先に置換しないと前後の行の文字がくっつきます。そのあとCLEANで制御文字を消し、全角スペースと改行しないスペース(値160、UNICHARで指定)を半角スペースにして、最後にTRIMで整えます。UNICHARの対応バージョンはExcel 2016以降です。
- C列に社名の統一式を入れる(C2セル):=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2,"(株)","株式会社"),"(株)","株式会社"),"㈱","株式会社")1つ目は半角かっこ、2つ目は全角かっこで入力します。
- 数行だけで試す:5〜10行にだけ式を入れて、結果を目で確認します。全角スペースやスペース類が本当に消えているかを、ここで確かめます。
- 全行に広げる:問題なければ式を下にコピーします。
型番や電話番号の列には、別の列でASCを使います。例:=ASC(A2)。ただし全角カタカナを含む列にかけると、カタカナも半角になります。
整形前後の見比べ手順
見比べでは「何行変わったか」と「変わった行が妥当か」の2点を確認します。
- D列に変更の有無を出します:=IF(EXACT(A2,C2),"","変更あり")。EXACTは2つの文字列がまったく同じかを比べ、大文字小文字も区別します。
- E列に文字数の差を出します:=LEN(C2)-LEN(A2)。空白を消した行はマイナス、「㈱」(1文字)を「株式会社」(4文字)にした行はプラスになります。想定と逆の符号や、極端に大きい差の行は要確認です。
- D列で「変更あり」だけをフィルターで絞り、A列とC列を並べて、上から順に目で見ます。
- 「変更なし」の行も10行ほど抜き出して確認します。直ってほしいのに変わっていない行は、式が拾えていない揺れです。
- 納得できたら、C列をコピーして値として貼り付けます。式のまま渡すと、元の列を消した瞬間に結果が壊れます。
見比べで見つかりやすいもの(説明用の予想)
上のダミー例に式を当てた場合に、起きると予想される結果です。実行結果ではありません。
- 全角スペース+株式会社山田商事、整形後(C列)の予想:株式会社山田商事、人が判断すること:問題なし
- (株)山田商事、整形後(C列)の予想:株式会社山田商事、人が判断すること:問題なし
- 山田商事㈱、整形後(C列)の予想:山田商事株式会社、人が判断すること:後株のまま。前株の山田商事と同一か確認
判断が分かれるところ
語間のスペースを残すか:TRIMは語間のスペースを1つ残します。「株式会社 山田商事」と「株式会社山田商事」を同じにしたいなら、スペースを消す置換を足します。ただ、英字の社名ではスペースが意味を持つことがあるので、列の性質を見て決めてください。
英数字は半角、カナは全角にしたいとき:ASCは全角カタカナも半角にし、JISは半角英数字も全角にします。公式の説明を見る限り、この2つだけでは「英数字は半角、カナは全角」という混在ルールは作れません。AIに混在用の式を頼んだ場合は、そのまま信じず、英数字とカナが混ざった数行で必ず試してください。式が長く複雑になるなら、列の性質ごとにルールを分けるほうが現実的です。
CLEANで消えないもの:値127などはCLEANで除去されません。見た目に空白がないのに文字数が合わない行は、LEN関数で文字数を出して手がかりにします。
AIの答えが長い式になったとき:1つのセルに全部詰めた式は、後から直せません。列を分けて、1列に1種類の揺れに戻してください。

