仕入先のCSVにある 0001 と、自社の一覧にある P-001 が同じ商品を指す場合、品番をそのまま比べても一致しません。先に品番対応表で同じ商品か確認し、対応が1つに決まる行だけ自社品番を別列へ写します。 元の仕入先品番は残します。
「品番」という列名に揃える作業と、セルの値を対応付ける作業は別です。CSVの列順・列名を変更する方法は前者を扱います。この記事では、仕入先コードと仕入先品番で対応表を引き、読み替えを止める行を見分ける手順を説明します。
なぜ仕入先品番だけでは決められない?
異なる仕入先が同じ 0001 を別の商品に使うことがあります。今回の架空例では、仕入先 S01 の 0001 は自社品番 P-001、仕入先 S02 の 0001 は P-200 です。仕入先を無視すると、この2つを区別できません。
この例の対応表は「仕入先コード+仕入先品番」の組合せで1行が決まる想定です。有効日、工場、荷姿などでも対応先が変わる仕事では、それらの条件も先に確認します。商品の単位や対応表の対象期間が違う状態で、品番だけを読み替えて数量を比べないでください。
架空CSVで対応表と取引一覧を用意する
練習用の品番対応表CSVと取引一覧CSVを使います。実在する取引先・商品・取引のデータではありません。
対応表は次の7行です。0003 には2つの対応先、0004 には自社品番の空欄を入れています。
仕入先コード,仕入先品番,自社品番
S01,0001,P-001
S02,0001,P-200
S01,0002,P-002
S01,0003,P-003
S01,0003,P-004
S01,0004,
S01,0006,P-006
取引一覧にも、未登録の品番と空欄を含めています。
仕入先コード,仕入先品番,数量
S01,0001,10
S02,0001,4
S01,0002,5
S01,0003,2
S01,0004,3
S01,0005,1
S01,,2
品番は数値計算に使う値ではありません。表計算ソフトへ読み込む場合は、先頭のゼロを保持する設定で読み込み、0001 が 1 に変わっていないか確認します。詳しい確認点はCSVの先頭ゼロと空白の記事を参照してください。
対応表を確認してから、1行ずつ読み替える
- 元ファイルを保管し、確認用のコピーを作ります。見出しの下から取引一覧のデータ行を数えます。
- 対応表を「仕入先コード+仕入先品番」で調べ、重複した組合せと自社品番の空欄を先に特定します。同じ自社品番が2行あっても、この練習では重複を解消するまで使いません。
- 取引一覧の仕入先コードと品番が両方埋まっていることを確認し、その組合せを対応表から探します。
- 対応が0行なら未登録、2行以上なら複数対応として止めます。1行でも自社品番が空欄なら止め、対応表の管理者へ確認します。
- 対応が1行で自社品番も埋まっている場合だけ、確認用コピーの新しい列へ自社品番を写します。仕入先コード・元品番・数量を残して照合します。
今回の期待結果は次のとおりです。行ごとの確認表CSVと照らし合わせてください。
| 取引データ行 | 仕入先・品番 | 対応表の行数 | 判断 | 自社品番 |
|---|---|---|---|---|
| 1 | S01・0001 | 1 | 読み替え可 | P-001 |
| 2 | S02・0001 | 1 | 読み替え可 | P-200 |
| 3 | S01・0002 | 1 | 読み替え可 | P-002 |
| 4 | S01・0003 | 2 | 複数対応のため保留 | 決めない |
| 5 | S01・0004 | 1 | 自社品番が空欄のため保留 | 決めない |
| 6 | S01・0005 | 0 | 未登録のため保留 | 決めない |
| 7 | S01・空欄 | 調べない | 仕入先品番が空欄のため保留 | 決めない |
読み替え可は3行、保留は4行です。確認済み3行の見本CSVは、保留4行を解決した結果ではありません。業務へ渡す際は保留行も別に残し、元の7行から何を確認でき、何が未解決かを伝えます。
CSVチェックでは、対応表の1列目と2列目を重複キーにし、3列とも必須にすると、S01・0003 の関係する2行と自社品番の空欄1件を探せます。設定の意味はCSVチェックのガイドで確認できます。
この設定の結果は「問題5件・問題のある行3行・入力7行」です。重複した2行ではキーの2列それぞれに指摘が付き、計4件になります。残る1件は自社品番の空欄です。問題の件数と、確認する行数は分けて読みます。
CSVチェック
品番対応表の複合キーの重複と必須欄の空欄を点検します。取引一覧との対応付けや品番変換は行いません。
品番を揃えた後に、数量を比べる
自社品番を確認できた行だけを、同じ単位・対象期間の自社一覧と比べます。同じ品番に複数の倉庫やロットがあるなら、重複キーの記事のように、1行を区別する条件も揃えます。
CSV突合は、指定したキーの文字列を比べるツールです。仕入先品番を自社品番へ自動変換する機能はありません。この記事の確認表も専用変換ツールの出力ではなく、架空例の手動確認に使う資料です。未登録品番を推測で補ったり、複数候補の先頭を選んだりせず、対応表と取引条件へ戻って確認してください。
あわせて読みたい
CSV比較で重複キーが出る理由|品番だけで行を決めない確認方法
同じ品番が複数行にあるCSVを比べると、なぜ判定不能になるのか。架空の倉庫別一覧と配布CSVを使い、品番と倉庫を組み合わせる手順、差異の読み方、元データへ戻る判断を説明します。
CSVの列順・列名を変更する方法|取り込み先の形式に合わせる
商品一覧CSVから必要な列だけを選び、列名と並び順を取込先に合わせる手順。架空データで品番・単価の出力結果を確認し、必須値の欠落や先頭ゼロの注意点も説明します。
商品コードが同じに見えるのに一致しない|先頭の0・空白・文字と数値の確認方法
CSVのコード「001」と「1」、末尾に空白がある値、数量「100」と「100.0」。見た目だけで同じと決めず、元値と比較列を確認する手順を架空データで試します。

