
「Excel 空白なのに一致しない」「VLOOKUP 見つからない 空白」と検索している場合、ほぼこの記事の内容で解決します。なぜか社内システムにとりこまれないExcelファイル、count系の関数がおかしくなる、全部この空白が空白と扱われれない幽霊セルが原因です。
最初に結論:
「Excel 空白 一致しない」「VLOOKUP/XLOOKUP 見つからない」の多くは、空白に見える別文字(全角スペース/ノーブレークスペース/制御文字)が原因です。
迷ったらまずこの式を使えば、ほぼ勝てます。
=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1,CHAR(160)," "), " "," ")))
CHAR(160):ノーブレークスペース( 相当)対策" ":全角スペース対策CLEAN:改行・タブ等の印刷できない制御文字を削除TRIM:前後の空白&連続スペースを整理
TRIMやCLEANの役割・限界はMicrosoft公式の説明が根拠になります(TRIMはUnicode 160や に触れています)。
CLEANが「印刷できない文字」を削除する関数である点も公式に明記されています。[参照:CLEAN 関数]
よくある症状
以下に1つでも当てはまるなら、この記事の対象です。
- Excel: 空白なのに一致しない(
=A1=B1がFALSE) - VLOOKUP :見つからない/XLOOKUP: 一致しない
- 並べ替え・フィルターで同じに見えるのに別グループになる
- 「空白」のはずなのに COUNTA で数えられる(幽霊セル)
- Ctrl+End が妙に遠い(使用範囲が伸びる)
「幽霊セル(空白に見えるのに空白じゃない)」は、スペースだけでなく空文字列やアポストロフィ等が原因になり得ます。また、置換処理で、ある値を空白にするために、わざわざ置換後の文字列に、スペースキーを押すなどの余計な一手があるとこれが原因となります。
Ctrl+G / F5 で“問題セル”を一瞬で特定する方法
「どのセルに見えない空白が入っているのか分からない」場合は、ジャンプ機能(Ctrl+G または F5)を使うと効率的です。
空白セルを一括選択する手順
- 対象範囲を選択(例:A列全体)
- Ctrl + G または F5 を押す
- 「セル選択」をクリック
- 空白セル を選択 → OK
これで「完全な空白セル」だけが一括選択されます。
逆に言えば、「定数」や「数式」を選択すると、空文字列(””)が入っているセルが特定・選択でき、その状態でDeleteキーで解決です。
ポイント(重要)
- 選択されないセルは、見た目は空白でも“何か入っている”可能性が高い
- 空文字列(””)やスペースのみのセルは対象外になることがある
- Ctrl+Endで飛んだ位置が遠い場合も、不要データが残っているサイン
つまり、「選ばれない空白セル」=幽霊セル候補です。
そのセルに対して、この記事で紹介した整形関数を使うと原因を除去できます。
原因はこれ:空白に見える“別物”が混ざっている
1) 半角スペース(ASCII 32)
普通のスペース。TRIMでだいたい解決します。TRIMは「単語間の1つを残してスペースを削除」と説明されています。[参照:Microsoft TRIM関数]
2) 全角スペース(” ”)
日本語環境で超頻出。「見えない空白」として検索されやすい決定打ポイントです。TRIMだけでは残ることがあるため、まず半角スペースへ寄せます。
3) ノーブレークスペース(Unicode 160 / )
Web・メール・PDF由来の貼り付けで混入しがち。TRIMの公式ページでもUnicode 160やWebの が言及されています。[参照:Microsoft TRIM関数]
4) 改行・タブなど制御文字(印刷できない文字)
CLEANで削除できます(CLEANは「印刷できない文字を削除」と説明されています)。[参照:CLEAN 関数]
決定打:まず“何の空白か”を特定する(CODEで一発)
専門性を上げて、ムダな試行回数をゼロにする方法です。
「このセルの先頭に、何の文字が入ってる?」を数値で判定します。
先頭1文字の文字コードを確認
=CODE(LEFT(A1,1))
末尾1文字の文字コードを確認(よくある:末尾に幽霊空白)
=CODE(RIGHT(A1,1))
目安:
- 32:半角スペース
- 160:ノーブレークスペース( 系)
この「原因特定」ステップがあると、競合記事より“トラブル解決力”が一段上がります(読者はここで安心します)。
用途別:どの式を使えばいい?(迷わせない設計)
Excel 空白 一致しない/VLOOKUP・XLOOKUPが見つからない(最優先)
=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1,CHAR(160)," "), " "," ")))
まずは軽く整える(半角スペース+制御文字が主犯のとき)
=TRIM(CLEAN(A1))
TRIMとCLEANの組み合わせはMicrosoft公式の例にも出てきます。[Source]
ノーブレークスペースだけ疑う(Web貼り付けっぽいとき)
=TRIM(CLEAN(SUBSTITUTE(A1,CHAR(160)," ")))
全角スペースだけ消したい(日本語名簿・住所あるある)
=TRIM(CLEAN(SUBSTITUTE(A1," "," ")))
作業手順(初心者検索も回収):関数で直して“値”に確定する
- 元データの隣の列に、上の式を入れる(例:B2)
- 下までコピー
- 整形列をコピー → 元列に「値の貼り付け」
これで「式の結果」ではなく、見えない空白が除去された値が元データとして固定されます。
Power Queryで一気に直す(最近増えている検索を拾う)
大量データや定期取り込み(CSV/システム出力)があるなら、Power Queryでクレンジングが安定です。
この記事では詳細手順は深掘りしませんが、方針は次の通りです:
- 取り込み時点で「空白」「改行」「不要文字」を整形してから表に戻す
- 毎回同じルールで自動処理でき、再発に強い
「データをクリーンアップする方法」の文脈でも、TRIM/CLEAN/SUBSTITUTE等で不要文字を扱う考え方が示されています。[データをクリーンアップする方法トップ 10]
よくある質問(FAQ)
Q. TRIMしても一致しないのはなぜ?
半角スペース(32)ではなく、ノーブレークスペース(160)や、改行・タブ等の制御文字が混ざっている可能性が高いです。TRIMがUnicode 160や に触れている点も公式に記載があります。[参照:TRIM 関数]
Q. VLOOKUP/XLOOKUPで見つからないのは空白のせい?
はい、見た目が同じでも「末尾に見えない空白」「別種類の空白文字」があると一致しません。
まずは =CODE(RIGHT(A1,1)) で末尾文字を確認し、上の“最強式”で正規化してください。
Q. 空白なのにCOUNTAで数えられるのは?
幽霊セル(空白に見えるがデータ扱い)です。空文字列(””)やアポストロフィ等が原因になり得ます。
Q. ノーブレークスペース(CHAR(160))の消し方は?
=SUBSTITUTE(A1,CHAR(160)," ")で普通の半角スペースへ置換し、その後TRIM/CLEANで整形するのが定石です。文字列置換の考え方はSUBSTITUTEの公式説明の通りです。[SUBSTITUTE 関数]
最後にもう一度(再提示):とりあえずこれでOK
「Excel 空白なのに一致しない」「VLOOKUP 見つからない」「XLOOKUP 一致しない」を最短で潰すなら、まずはこの式を隣列に入れて、最後に値貼り付けで確定してください。
=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1,CHAR(160)," "), " "," ")))












コメント