無料Webツール

CSVキーJOIN

2つのCSVを指定キーでINNER / LEFT / FULL JOINし、結果をCSV出力します。

入力と設定

使い方

売上CSVには customer_id と金額、顧客マスターには customer_id と会社名がある。これを1枚にしたい――そんな「2つの表をキーでつなぐ」作業に使います。JOINは便利ですが、キーの重複を見落とすと行数が急に増えるので、結果の行数も一緒に見るのがポイントです。

  1. CSV AとCSV Bを貼り付け、両方に共通するキー列を指定します。
  2. LEFT / INNER / FULLから、残したい行に合うJOINを選びます。
  3. 出力行数と表を確認し、想定より増えていないかを見てから保存します。

このツール、どんなときに使う?

注文CSVに顧客名を足す、商品マスターからカテゴリを引く、在庫表へ価格を付ける。こういう「片方のCSVだけでは情報が足りない」ときに使います。ExcelのVLOOKUPに近い役割ですが、CSV同士をそのままつなげられます。

JOINを選ぶ前に、ここだけ押さえます

LEFTはAを基準に残す、INNERは両方にキーがある行だけ、FULLはどちらか片方にしかないキーも残します。迷ったら「最終的にAの行を全部残したいのか?」を見ると選びやすいです。

B側のキー列そのものは出力へ重ねず、A側のキーを基準に1列だけ残します。一方、キー以外で同じ列名がA/B両方にある場合は、そのまま同名列が並ぶことがあります。後工程で列名の一意性が必要なら、JOIN後にヘッダーも確認します。

実は、重複キーがあると行数は増えます

ここ、JOINでいちばん見落としやすいところです。Aに同じキーが2行、Bにも同じキーが3行あると、そのキー部分は2×3で6行になります。ツールが勝手に重複したのではなく、組み合わせが全部出ているんです。想定外に行数が増えたら、まず両方のキー重複を確認します。

現在の照合ルール

キーは文字列としてそのまま照合します。前後空白の自動削除や大文字小文字の統一はしません。つまり ABC と abc、001 と 1、末尾に空白がある値は別キーです。空欄同士も同じキーとして一致し得るので、空欄キーがあるCSVでは先に確認しておくと安心です。

キー列の値を自動で数値化しないので、00042 と 42 は別物のままです。これは商品コードや会員IDを守る点では安全ですが、片方だけゼロ埋めされているデータでは一致しません。JOIN前にキーの作り方をそろえるのが先です。

例えば、こんな確認をします

Aが100行なのにLEFT JOIN後が145行になった。そんなときは「B側に同じcustomer_idが複数ないか」を見ます。逆にINNER JOINで行数が大きく減ったら、A側のキーがBに存在しないケースが多い可能性があります。出力そのものだけでなく、行数の増減がかなり良い手掛かりになります。