Excel・CSVの突き合わせ(VLOOKUP不要)
2つのCSVを商品コードや注文番号など共通の列でつなげます。
くわしい使い方
表Aには基準にしたい表(受注一覧など)、表Bにはつなげたい情報がある表(商品マスタなど)を貼り付けるか、CSVファイルを選んでください。Excelのセル範囲をコピーしてそのまま貼り付けても読み込めます。次に、両方の表で共通している列(商品コードや注文番号など)が左から何列目かを入れます。「Aの全行にBの列を付ける」はVLOOKUPと同じ結果になります。「Aにだけある行」「Bにだけある行」を選ぶと、片方にしかないデータ(登録漏れ・削除漏れ)を洗い出せます。結果は「結果をCSVで保存」でExcelで開けるUTF-8(BOM付き)のCSVとして保存できます。
VLOOKUPでつまずく3か所と、関数を組まずに済ませる方法
VLOOKUPは =VLOOKUP(検索値, 範囲, 列番号, FALSE) の形で、別の表から値を引いてくる関数です。よくつまずくのは次の3か所です。
1. #N/A になる
探している値が相手の表に見つからないときに出ます。原因の多くは、全角と半角の違い(A-01 と A-01)、前後の空白、数値と文字列の違い(001 と 1)です。このツールでは一致しなかった行を「Aだけ」「Bだけ」として一覧で出すので、どこが合っていないかを確かめられます。
2. 列番号がずれる
VLOOKUPの3つ目の引数は「範囲の左から何列目か」です。あとから列を挿入すると、別の列を引いてしまいます。また、検索する列が範囲の一番左にないと使えません。
3. 最後の引数を省略して、違う値を引く
4つ目の引数を省略すると「近似一致」になり、並べ替えていない表では間違った行を引くことがあります。完全に一致させたいときは必ず FALSE(または0)を入れます。
関数を組まずに突き合わせるには
このツールに2つの表(ExcelファイルやCSV、コピーした表)を入れ、共通の列(商品コード・注文番号など)を選ぶだけで、つないだ表と、片方にしかない行を出せます。Microsoft 365やExcel 2021以降なら XLOOKUP 関数も使えます。
よくある質問
- VLOOKUPとどこが違いますか?
- 関数を組まずに、列番号を指定するだけで表を結合できます。表Bの列はキー以外すべて付くので、列ごとに式を書く手間もかかりません。片方にしかない行を一覧で出せるのもVLOOKUPとの違いです。
- キーが一致するはずなのに「Aだけ」になってしまいます。
- 「前後の空白・全角半角の違いを無視」にチェックが入っているか確認してください。Excelで先頭の0が消えた(00123が123になった)コードは、別の値として扱われます。元のCSVのコードの形をそろえてから試してください。
- 文字化けします。データは外部に送られますか?
- ファイルはまずUTF-8で読み、文字化けしたらShift_JISで読み直します。それでも崩れる場合は「CSVの文字コード変換」ツールで変換してから使ってください。データはお使いのブラウザ内だけで処理し、サーバーには送りません。