【Excel】VLOOKUPが空白で一致しない時の対処|TRIMと特殊文字の確認

【Excel】VLOOKUPが空白で一致しない時の対処|TRIMと特殊文字の確認
🛡️ 超解決

VLOOKUPで同じに見えるコードが見つからない場合は、前後の空白や文字の違いを調べます。ただし、空白を全部消すと別のコードを同一扱いしてしまうことがあります。検索列と検索値の両方を、元データを残した補助列で確認してください。

ADVERTISEMENT

1. 空白を消す前に検索条件と型を確かめる

完全一致ならVLOOKUPの第4引数はFALSEにします。検索列が指定範囲の左端か、数値の123と文字列の「123」が混在していないかも確認します。#N/Aの原因を空白だけに決めつけないことが大切です。

半角空白に囲まれたAB 12へTRIMを適用すると前後だけが取れ、内部の区切りは残る。空白を全削除するとAB12となり別コードと混同する。
TRIMでも連続する内部スペースは一つになります。コードの定義に合う処理か確認します。
検査例 分かること
=LEN(A2) 空白も含めた文字数。差があっても原因が空白とは限らない
=EXACT(A2,D2) 大文字・小文字も含む文字列の一致
=ISNUMBER(A2) 数値として格納されているか
※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. TRIMで除去される空白を理解する

=TRIM(A2)は一般的な半角スペースの前後を除き、途中に連続するスペースを一つにします。途中のスペースをすべて消す関数ではありません。全角スペースやWeb由来の特殊な空白も、この式だけですべて除去できるわけではありません。

氏名や商品名では、語の区切りに空白が必要なことがあります。TRIMを使う場合も、連続空白を一つにする変更が許される列か確認してください。

3. Web由来の改行しない空白を調べる

ブラウザーから貼り付けた文字には、通常のスペースとは異なるノーブレークスペースが入ることがあります。これを半角スペースへ置き換えてから整える例は、=TRIM(SUBSTITUTE(A2,UNICHAR(160)," "))です。

全角スペースも半角へ統一する運用なら、別の補助列で=SUBSTITUTE(A2," "," ")を試せます。空文字へ置換して前後の単語を連結するかどうかは、コードの定義に従って決めます。

4. CLEANはすべての不可視文字を消すわけではない

=CLEAN(A2)は一部の制御文字を除去しますが、Unicodeの見えない文字をすべて処理する機能ではありません。セル内改行も除去されるため、複数行の名称や住所に一律適用すると必要な区切りを失います。

文字を特定したいときは、問題の位置を絞って=UNICODE(MID(A2,1,1))などで文字コードを確認します。この例の1は先頭文字です。長さと位置を確かめながら調べてください。

5. 両側を同じ規則で整え、重複を確認する

検索値だけを整えても、検索先に空白が残っていれば一致しません。両側に同じ処理の補助列を作り、その列で比較します。元の列を上書きする前に、処理後に同じ値になったコードがないか調べましょう。

たとえば「AB 12」と「AB12」が別商品なら、空白の全削除は誤結合の原因です。検索で見つかるようになったことと、正しい商品に一致したことは別なので、返された品名や金額も確認します。

6. 修正は必要な文字だけに絞る

原因が前後の半角スペースならTRIM、特定の空白ならその文字の置換、型の違いなら用途に合う型の統一を行います。番号の先頭0を失う数値化や、表全体の空白削除は避けます。

確認後も元データと整形列を残しておくと、次の取り込みで同じ問題が出たときに比較できます。

参考:Microsoft公式:TRIM、CLEAN、データの整理方法

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】