メモ:Excelで「同じに見えるのに一致しない」原因と直し方(全角/半角・大小・空白)

Office:Excel

こんにちは。いーかです。
Excelの「データ整形」で、見た目は同じなのに一致判定や検索、VLOOKUP/XLOOKUPがズレる問題を、原因別に掃除するメモです。

30秒まとめ(結論1行)

一致しない原因はだいたい3つ:①全角/半角 ②大文字/小文字 ③見えない空白(NBSP/タブ/前後スペース)。まず“正規化してから比較”すると解決する。


まず最短チェック(差分を見える化)

  • =A1=B1 がFALSEなら、次も見る
  • =LEN(A1)=LEN(B1) が違う → 空白/不可視文字の可能性大
  • =CODE(MID(A1,1,1)) で先頭文字の違いを疑う(余裕があれば)

症状(あるある)

  • 同じに見えるのに =A1=B1 が FALSE
  • VLOOKUP/XLOOKUPで一致しない
  • フィルターで同じ値が別グループになる

先に安全ネット

上書きせず 別列で整形→値貼り付けが安心。


原因1:空白・不可視文字(最頻)

まずこれで“汚れ”を落とす:

=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1,CHAR(160)," "),CHAR(9)," ")))
  • NBSP(160)→普通スペース
  • タブ(9)→スペース
  • CLEANで制御文字
  • TRIMで前後空白+連続空白

原因2:大文字/小文字

比較やキーを揃えるなら:

=UPPER(A1)

(小文字に寄せたいなら LOWER


原因3:全角/半角(日本語環境の決定版)

全角英数 → 半角

=ASC(A1)

半角英数 → 全角

=JIS(A1)

※ASC/JISは日本語環境で“効く範囲が広い”ので、全角半角の正規化に便利。


正規化テンプレ(迷ったらこれ1本)

空白掃除+大小統一+全角半角寄せ(全角→半角)までまとめて:

=UPPER(
  TRIM(
    CLEAN(
      SUBSTITUTE(
        SUBSTITUTE(
          ASC(A1),
        CHAR(160)," "),
      CHAR(9)," ")
    )
  )
)

比較用テンプレ(正規化してから比べる)

  • 正規化した値同士を比較:
=正規化(A1)=正規化(B1)
  • まずは別列で「正規化済みキー」を作るのが実務で強い。

今日の1アクション

一致しない2セルがあったら、まず別列で
正規化テンプレを当てて、その結果を比較する。


ミニクイズ(答えは末尾)

Q1. Webコピペ由来の“見えない空白”の代表は?
Q2. 前後スペースを消す定番関数は?
Q3. 全角英数を半角に寄せる関数は?
Q4. 大文字に統一する関数は?


今日のひとこと(成長ログ)

比較は“そのまま”じゃなく、“整えてから”。これだけで一致事故が激減する。


解答とくわしい解説

A1. NBSP(CHAR(160))
A2. TRIM
A3. ASC
A4. UPPER



コメント

タイトルとURLをコピーしました