商品コードで2つのExcel・CSVを結合する方法|一致しないデータの確認まで

「商品一覧に在庫数を追加したい」「価格表と商品マスターを1つにまとめたい」

このようなときは、2つのファイルに共通する商品コードを使って、データを横につなげます。

ただし、表の並び順に合わせてコピー&ペーストするだけでは、別の商品に在庫数や価格を付けてしまうおそれがあります。また、一致した商品だけを残すと、片方のファイルにしかない商品を見落とすこともあります。

商品コードでExcel・CSVを結合するときは、「照合する項目」「残す行」「一致しないデータ」の3点を確認することが大切です。

この記事では、事務人の「Excel・CSV結合・分割ツール」を使い、商品コードで2つのファイルを結合する方法と、結合できなかったデータの確認方法を解説します。

目次

商品コードで結合すると何ができる?

商品コードでの結合とは、共通するコードを手がかりに、別のファイルにある情報を同じ行へ追加することです。

たとえば、次の2つのファイルがあるとします。

商品一覧

商品コード商品名
00123ペン
00045ノート
00067付箋

在庫一覧

商品コード在庫数
0004530
00123100
0008920

在庫一覧は商品一覧と並び順が違い、含まれる商品も一部異なります。

商品コードで照合し、商品一覧の行をすべて残して結合すると、次のようになります。

商品コード商品名在庫数
00123ペン100
00045ノート30
00067付箋

商品コードが一致するペンとノートには、対応する在庫数が追加されます。付箋は在庫一覧に同じコードがないため、在庫数が空欄になります。

一方、在庫一覧だけにある「00089」は、この設定では結果に含まれません。

結合結果に何を残すかによって、確認できるデータが変わります。

「下へつなげる」と「商品コードで横につなげる」の違い

Excel・CSVの結合には、大きく分けて2つの方法があります。

方法処理の内容向いている作業
下へつなげる複数の表のデータ行を追加する月別の売上一覧を1つにまとめる
共通項目で横につなげる一致するコードの行に別の項目を追加する商品一覧へ在庫数や価格を追加する

今回使うのは、「共通項目で横につなげる」方法です。

商品一覧と在庫一覧を下へつなげても、商品ごとに在庫数が追加されるわけではありません。何を1つにまとめたいのかに合わせて、結合方法を選びましょう。

結合前に確認したい4つのこと

1.同じ商品を表すコードか確認する

両方のファイルに「コード」という列があっても、同じ意味とは限りません。

たとえば、自社の商品コードと仕入先の商品コードでは、同じ商品でも番号が異なることがあります。

照合する項目は、列の名前だけでなく、コードの意味も確認してください。

逆に、片方の列名が「商品コード」、もう片方が「品番」でも、同じ番号体系であれば照合に使えます。

2.商品コードの先頭の0が残っているか確認する

「00123」と「123」は、そのままでは異なる文字列です。

片方のファイルだけ先頭の0が消えていると、同じ商品として結び付けられない原因になります。

商品一覧のコード在庫一覧のコード確認すること
0012300123同じコードになっている
00123123先頭の0が失われていないか
AB-001AB001ハイフンの有無に意味があるか
ABC123ABC123半角・全角が混在していないか

コードをそろえる場合は、元の管理ルールに従って修正します。

桁数が分からない状態で0を追加したり、記号を一括で削除したりすると、別の商品を同じコードにしてしまうおそれがあります。

3.同じ商品コードが複数行にないか確認する

商品マスターでは1商品につき1行でも、売上明細や倉庫別在庫では、同じ商品コードが複数行に登場することがあります。

たとえば、在庫一覧が次のような場合です。

商品コード倉庫コード在庫数
00123TOKYO100
00123OSAKA40

商品コードだけでは、どちらの行と結合するかを1つに決められません。

倉庫単位で照合するなら、「商品コード+倉庫コード」のように複数項目を組み合わせます。商品ごとの総在庫が必要なら、結合前に在庫数を集計する必要があります。

結合と集計は別の処理です。

4.商品コードが空欄の行を確認する

コードが空欄のままでは、どの商品かを正しく特定できません。

空欄同士が照合されたり、重複として扱われたりする可能性もあるため、結合前に確認してください。

分からないコードを推測で埋めるのではなく、元データの出力元や商品マスターで確認しましょう。

事務人のツールで商品コードを使って結合する方法

事務人の「Excel・CSV結合・分割ツール」では、基準となるファイルと追加するファイルを選び、共通する項目で横に結合できます。

Excelの.xlsxファイルとCSVを扱えるため、商品一覧がExcel、在庫一覧がCSVという組み合わせでも利用できます。

ここでは、商品一覧に在庫数を追加する手順を紹介します。

手順1.「結合する」を選び、2つのファイルを追加する

ツールで「結合する」を選び、商品一覧と在庫一覧を追加します。

Excelの場合は、対象のシートを確認してください。CSVの場合は、日本語が文字化けしていないか、列が正しく区切られているかを確認します。

見出し付きの表では、1行目を項目名として扱う設定にします。

初期状態は「PCで処理」です。サーバー処理を選ぶ場合はファイルがサーバーへ送信されるため、画面の案内と社内のデータ取り扱いルールに合わせて選択してください。

手順2.「共通項目で横につなげる」を選ぶ

結合方法は「共通項目で横につなげる」を選びます。

「下へつなげる」では、商品コードを使った照合にはなりません。商品情報へ別の項目を追加したい場合は、横につなげる方法を選びます。

手順3.基準にするファイルを選ぶ

「基準にするファイル」で、商品一覧を選びます。

基準ファイルは、結合結果の土台になる表です。

今回のように「商品一覧に在庫数を追加する」なら商品一覧を、「売上明細に商品名を追加する」なら売上明細を基準にすると、目的を整理しやすくなります。

手順4.両方の照合項目で商品コードを選ぶ

商品一覧側と在庫一覧側で、それぞれ商品コードの列を選びます。

ファイル選ぶ照合項目
商品一覧商品コード
在庫一覧商品コード

列名が異なる場合も、同じ意味の項目を選びます。

倉庫別など、商品コードだけでは行を特定できない場合は「照合項目を追加」を使い、対応する項目を組み合わせてください。

手順5.「残す行」を選ぶ

結合後に残す行は、目的に合わせて選びます。

設定結果に残る行向いている目的
基準ファイルの行を残す基準側の全行。一致しない追加側の項目は空欄商品一覧を残して在庫数を追加する
両方にある行だけ残す商品コードが両方にある行一致した商品だけを出力する
すべての行を残す両方のファイルの行。片方だけにある商品も残す不一致も含めて全体を確認する

一致しない商品を調べたい場合は、最初から「両方にある行だけ残す」を選ばないことがポイントです。

一致しなかった商品が結果から外れるため、どの商品が不足しているのか確認しにくくなります。

商品一覧を中心に確認するなら「基準ファイルの行を残す」、両方のファイルにしかない商品まで確認するなら「すべての行を残す」を選びます。

手順6.同じ番号が複数ある場合の扱いを確認する

事務人のツールでは、同じ照合番号が複数ある場合、初期設定では処理を止めて確認します。

選択肢には、次のものがあります。

  • いったん止めて確認する
  • 最初の行を使う
  • 最後の行を使う
  • 組み合わせをすべて作る

エラーを解消するためだけに「最初の行」や「最後の行」を選ぶのは避けましょう。

これらは、更新日時が最新のデータを自動で判断する機能ではありません。また、基準側にも同じコードが複数あると、採用されない行が出る場合があります。

商品コードが重複する理由を確認してから、扱いを決めてください。

手順7.プレビューを確認して保存する

結合前後の件数や先頭データを確認し、商品名と在庫数の組み合わせが正しいかをチェックします。

保存形式は、利用目的に合わせてExcelまたはCSVを選びます。CSVを他のシステムへ取り込む場合は、文字コードや区切り文字も取り込み先の指定に合わせてください。

サーバー処理ではプレビューが先頭の一部に限られるため、保存後のファイルでも確認します。

なお、Excel出力は元ブックの書式やグラフ、計算式をそのまま引き継ぐ用途ではありません。結合したデータを利用するための出力として扱いましょう。

一致しないデータを確認する方法

結合できた行だけでなく、片方にしかない商品も確認すると、登録漏れやコードの不一致を見つけやすくなります。

「すべての行を残す」で両方の不足を確認する

冒頭の商品一覧と在庫一覧を「すべての行を残す」で結合すると、次のようになります。

商品コード商品名在庫数
00123ペン100
00045ノート30
00067付箋
0008920

この例では、元データとの比較から次のことが分かります。

  • 「00067」は商品一覧にあり、在庫一覧にはない
  • 「00089」は在庫一覧にあり、商品一覧にはない

ただし、結合後の空欄だけで、不一致と断定することはできません。

在庫一覧の元データで在庫数が空欄だった場合も、結合結果は空欄になります。

不一致と元データの空欄を区別するには、確認用の列を付ける

区別を明確にしたいときは、元ファイルのコピーに確認用の列を追加しておく方法が便利です。

商品一覧には「商品一覧に存在」、在庫一覧には「在庫一覧に存在」という列を作り、すべてのデータ行に「あり」と入力します。

その状態で「すべての行を残す」を選ぶと、次のように判別できます。

商品コード商品一覧に存在在庫一覧に存在確認結果
00123ありあり両方にある
00045ありあり両方にある
00067あり商品一覧だけにある
00089あり在庫一覧だけにある

※「確認結果」は説明用の列です。ツールが自動で付ける判定列ではありません。

この方法なら、在庫数そのものが空欄でも、在庫一覧に該当する商品コードがあったかどうかを確認できます。

確認用の列は作業用コピーに追加し、他システムへ取り込む最終ファイルでは、取り込み仕様に合わせて除いてください。

片方にしかない理由を調べる

不一致のデータが見つかったら、すぐに削除せず理由を確認します。

状況考えられる理由
商品一覧にだけある在庫未登録、新商品、在庫一覧の抽出対象外
在庫一覧にだけある商品マスターへの登録漏れ、旧コード、廃番商品
同じ商品のはずなのに一致しない先頭の0、空白、全角・半角、記号などの違い
一部の商品だけ不足する出力日時、対象店舗、倉庫、抽出条件の違い

片方のファイルが最新で、もう片方が数日前のデータなら、コードが正しくても不一致は発生します。コードの表記だけでなく、出力条件も確認しましょう。

商品コードが一致しないときに確認すること

前後に空白が入っていないか

「00123」と「00123 」は見た目が似ていますが、後者には末尾の空白があります。

コピー&ペーストや外部システムからの出力で、見えにくい空白が混ざることがあります。

前後の空白だけでなく、全角スペースや改行などが入っていないかも確認してください。

全角・半角や英字の大文字・小文字が違わないか

「ABC123」と「ABC123」、「abc123」と「ABC123」などの違いも確認します。

事務人のツールでは、横結合の照合値を自動で同じ表記にそろえる前提にせず、元データ側で管理ルールに合わせることが大切です。

大文字・小文字や記号に意味があるコードでは、無条件に統一しないようにしてください。

表示されているコードと実際の値が違わないか

Excelでは、セルの表示形式によって先頭に0を付けている場合があります。

画面上で「00123」と表示されていても、実際の値が「123」であれば、文字列として保存された「00123」とは扱いが異なることがあります。

読み込み後のプレビューで、実際にどのようなコードになっているか確認しましょう。

すでに桁落ちや丸めが起きたコードは、結合処理では元に戻せません。正しい元データから取り直す必要があります。

結合後に行数が増えたときは、コードの重複を確認する

「組み合わせをすべて作る」を選ぶと、同じ商品コードの行数に応じて、結合結果が増えることがあります。

たとえば、同じ商品コードが基準側に2行、追加側に3行ある場合、そのコードについては次の件数になります。

2行×3行=6行

これは、すべての組み合わせを出力するためです。

結合後に数量や金額を合計すると、同じ値を何度も数えてしまうおそれがあります。

行数が想定より多いときは、次を確認してください。

  • 商品コードが両方のファイルで重複していないか
  • 商品コード以外の照合項目が必要ではないか
  • 結合前に商品単位で集計すべきデータではないか
  • 片方にしかない行を残したことで増えていないか

単に行数が増えたという理由で重複行を削除せず、何を1行として扱う表なのかを確認することが大切です。

保存後に確認したいチェックリスト

取り込みや集計に使う前に、保存したファイルを確認しましょう。

  • 基準にした商品や明細が、意図せず減っていない
  • 商品コードと商品名、在庫数、価格の対応が正しい
  • 一致しない商品について理由を確認できている
  • コードの重複によって行数が増えていない
  • 先頭の0や長いコードが変わっていない
  • 同名の項目を、別のファイル由来の列と取り違えていない
  • CSVの文字コードや列順が、取り込み先の指定に合っている

事務人のツールでは、追加側に同名の列がある場合、元の列を上書きせず、ファイル名を付けた列として残します。

たとえば両方に「商品名」がある場合は、どちらのファイルの商品名を最終的に使うか確認してください。

よくある質問

2つのファイルで商品が並んでいる順番が違っても結合できますか?

できます。商品コードを照合項目にすれば、行の位置ではなくコードを手がかりに対応するデータを結び付けます。

ただし、商品コードの重複や空欄は事前に確認してください。

「商品コード」と「品番」のように列名が違っていても使えますか?

同じ商品を表す共通の番号であれば使えます。両方のファイルで、対応する列を照合項目として選択してください。

列名が似ていても番号体系が違う場合は、そのままでは照合できません。

ExcelとCSVを組み合わせて結合できますか?

事務人のツールでは、.xlsxとCSVを扱えます。Excel側の対象シートと、CSV側の文字コード・区切り文字を確認してから結合してください。

一致しない商品を消さずに残せますか?

基準側の商品を残すなら「基準ファイルの行を残す」、両方のファイルにしかない商品も残すなら「すべての行を残す」を選びます。

不一致を確認する段階では、残す行の設定を特に注意して選びましょう。

商品コードが同じ行の在庫数を、自動で合計できますか?

横結合は、対応する行に情報を追加する処理です。在庫数を商品単位で合計する処理とは異なります。

倉庫別在庫などを合計したい場合は、必要な単位で集計してから結合してください。

商品コードと倉庫コードを組み合わせて照合できますか?

できます。照合項目を追加し、両方のファイルで「商品コード」と「倉庫コード」を対応させます。

商品コードだけでは1行に特定できないデータでも、複数の項目を組み合わせることで、目的に合う単位で照合できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次