新旧CSVに同じ品番が2行あるとき、どちらをどちらに結び付けるかは品番だけでは決まりません。重複行を先に消すのではなく、1行を区別できる列がほかにあるか確認します。 この例では、同じ品番でも倉庫が違うため、「品番+倉庫」を使います。
品番だけをキーにすると、なぜ判定不能になる?
架空の在庫一覧です。旧一覧では品番 A-01 が東倉庫と西倉庫に1行ずつあります。新一覧では西倉庫の数量だけが変わっています。
| 旧一覧の品番 | 倉庫 | 数量 | 新一覧の品番 | 倉庫 | 数量 |
|---|---|---|---|---|---|
| A-01 | 東 | 10 | A-01 | 東 | 10 |
| A-01 | 西 | 5 | A-01 | 西 | 7 |
品番だけを指定してCSV突合を実行すると、A-01 に複数候補があるため自動で行を決めません。結果の「判定不能」はツールの故障ではなく、選んだキーだけでは対応を一意に決められないという知らせです。行の順番や数量が近いことを根拠に、東と西を勝手に対応付けてはいけません。
架空CSVで「品番+倉庫」を試す
旧一覧CSVをダウンロードし、ツールの左側へ。新一覧CSVを右側へ入れます。ファイルを選んだ後は見出しと先頭行を確認してください。文字列を貼る場合は、区切りを「カンマ(CSV)」にします。
品番,倉庫,数量
A-01,東,10
A-01,西,5
B-02,東,8
まずキーを左右とも1列目の品番、比較列を3列目の数量にして実行します。A-01 の関係する行が判定不能になります。次に左右のキー列へ2列目の倉庫を追加し、同じ比較列で再実行します。期待結果は次のとおりです。
| 品番・倉庫 | 期待結果 | 元データで見ること |
|---|---|---|
| A-01・東 | 一致 | 数量10のまま |
| A-01・西 | 差異 | 数量5から7へ |
| B-02・東 | 一致 | 数量8のまま |
期待結果の確認表も保存できます。結果の行番号は見出しを除くデータ行の番号です。
CSV突合・差異確認
左右のCSVでキー列を追加し、判定不能と差異の変化を確認します。
品番と倉庫が同じなら、ロットもキーにする?
同じ倉庫で同じ品番をロット別に管理しているなら、「品番+倉庫」でも行を決められません。まず、元の一覧の1行が何を表しているか確認します。ロット別の数量を比べる一覧なら、左右とも「品番+倉庫+ロット」で同じ在庫を探します。
次の架空例は、どちらも同じ対象時点・数量単位の一覧です。空欄は値が記録されていない状態、0 は数量ゼロとして書かれた値で、区別して比較します。
品番,倉庫,ロット,数量
A-01,東,L01,10
A-01,東,L02,5
B-02,東,L03,0
C-03,西,L04,2
ロット別の旧一覧CSVを左へ、新一覧CSVを右へ入れます。新一覧は行順も変えています。
品番,倉庫,ロット,数量
A-01,東,L02,7
B-02,東,L03,
A-01,東,L01,10
D-04,西,L05,3
- キー列を左右とも1列目の品番と2列目の倉庫、比較列を4列目の数量にして「差異を確認する」を押します。
A-01・東は左右に2行ずつあり、関係する4行が判定不能になります。 - 「キー列を追加」を押し、追加した左右の列番号を3にします。品番・倉庫・ロットの3列をキーにして、同じ数量列を比較します。
- 結果を下の表と照らし合わせます。行番号は見出しを除くデータ行の番号です。
| 品番・倉庫・ロット | 旧数量 | 新数量 | 期待結果 |
|---|---|---|---|
| A-01・東・L01 | 10 | 10 | 一致 |
| A-01・東・L02 | 5 | 7 | 差異 |
| B-02・東・L03 | 0 | 空欄 | 差異 |
| C-03・西・L04 | 2 | 行なし | 左のみ |
| D-04・西・L05 | 行なし | 3 | 右のみ |
3列キーでは一致1件・差異2件・左のみ1件・右のみ1件・判定不能0件です。確認用の期待結果CSVは、この架空例を照合する資料です。ツールから保存した結果ファイルとは別です。「左のみ」「右のみ」は、在庫の消滅や新規発生を確定する結果ではありません。抽出条件と元資料へ戻って確認します。
ロットが空欄、または3列でも重複する場合
キーを3列に増やしても、空欄や同じ組合せの重複が残れば対応を決められません。未解決例の旧CSVと新CSVでは、A-01・東・L01 の重複と、B-02・東 の空ロットを入れています。同じ3列キーと4列目の数量で実行すると、関係する5行すべてが判定不能になります。
この場合は先頭の行を採用したり、数量を合算して重複を隠したりせず、明細番号や抽出範囲を元データで確認します。片方が倉庫単位、もう片方がロット単位の一覧なら、キーの追加だけで揃えることはできません。
倉庫列もない場合はどうする?
まず元システムの明細番号、ロット番号、登録日など、仕事上その行を区別する値を探します。値がないまま重複を削除すると、別の在庫を失うかもしれません。CSVチェックで重複キーの行を特定し、元システムの担当者へ確認する方法もあります。001 と 1、前後の空白は自動的に同じ値にはならないため、正規化の可否も業務のルールで判断します。
重複箇所だけを調べるならCSVチェックも使えます。こちらは指定したキー列の重複を報告し、入力を自動で修正しません。
この例は行の対応を見つける方法です。数量の合算、分納の判断、在庫の正しさは自動判定しません。まず原本を残し、対象行と抽出条件を確認してください。
仕入先と自社で品番そのものが違う場合は、キー列を追加する前に品番対応表の未登録・重複を確認する方法を参照してください。
あわせて読みたい
仕入先品番と自社品番が違うときのCSV照合|対応表の未登録・重複を確認
仕入先と自社で品番が違うCSVを照合する前に、対応表の未登録・複数対応・空欄を確認します。仕入先コードと品番を組み合わせ、変換を止める行を架空CSVと確認表で見分ける手順を説明します。
新旧の単価表をCSVで比較する方法|変更された品番を確認する
新旧の単価表をCSVで照合し、変更された品番を探す手順です。100と100.0、桁区切り、空欄と0などの5例で、文字の違いと価格改定を分けて確認します。練習用の新旧CSVと期待結果を配布します。
CSVの列順・列名を変更する方法|取り込み先の形式に合わせる
商品一覧CSVから必要な列だけを選び、列名と並び順を取込先に合わせる手順。架空データで品番・単価の出力結果を確認し、必須値の欠落や先頭ゼロの注意点も説明します。

