Excelの同じ商品コードが一致しないときは空白を確認
前後の空白や見えにくいスペースが原因で商品コードが一致しない場合の対処法です。元の値を保ったまま照合時だけ空白を無視します。
見た目が同じコードでも、前後に空白があると別の値として扱われます。JOIN SHEETの「結合キーを整理」で「前後の空白を無視」を有効にすると、元データを変更せず照合時だけ前後の空白を除いて比較できます。コードの途中にある空白は除かれません。
見えにくい空白と内部の空白を分けて考える
架空の注文表には「 P10 」「P20 」「P 30」があります。P20の後ろは改行されない特殊な空白です。商品表はP10・P20・P30です。前後の空白が付いた場合と、コード自体の途中に空白がある場合を区別します。
図は空白を含むデータと照合手順の説明図で、画面キャプチャではありません。
照合するときだけ前後の空白を無視する
- 注文の「注文コード」と商品の「商品コード」を接続し「1つ目のシートの全行を保持」を選びます。
- 接続線のメニューから「結合キーを整理」を開きます。
- 「前後の空白を無視」を有効にして「適用」を押します。この例では大文字・小文字の設定は変更しません。
- 「結果のプレビュー」で品名が付いたコードと空欄のコードを確認します。
注文3行のうち2行に商品情報が付く
| 注文コードの状態 | 商品コード | 結果 |
|---|---|---|
| P10の前後に空白 | P10 | 商品 Aが一致 |
| P20の後ろに特殊な空白 | P20 | 商品 Bが一致 |
| Pと30の間に空白 | P30 | 一致しない |
注文は3行とも残ります。「P 30」と「P30」を同じコードとする業務ルールがある場合は、内部の空白を元データで別途整理してください。この設定だけでは変わりません。
元データの空白も消えますか?
消えません。設定は文字列の結合キーの照合にだけ適用されます。原本や結果に表示する元のコードは保持されます。ファイル全体の空白削除でも、別の「値を比較」への適用でもありません。
すべての不可視文字を取り除く機能でもないため、空白以外の文字が混ざっている場合は原本を確認します。また、設定後に異なるコードが同じ値として結合され、行数が増えることがあります。「接続状態を確認」で「一致する行の組数」と重複キーの集計を確認してください。大文字・小文字の扱いも同様に業務ルールに合わせて選びます。
繰り返しの作業を減らす
シートを接続・比較して、必要な結果を確認できます。
この記事はProプランの利用環境を前提としています。
JOIN SHEETを使ってみる ↗Excel・CSVの作業はPCでご利用ください。新しいタブで開くため、作業中のデータは置き換わりません。
サンプルの検証日:
出典
VLOOKUP Error Stumper: Strange Formatting in Lookup Column — Reddit r/excel
空白による検索の不一致という問題を基に、架空の商品コードで説明を作成しました。質問者のファイルや本製品の利用事例ではありません。