エクセルで突合する方法|経理・在庫の突き合わせを早く正確に
公開:2026年11月4日 作成:nari
請求書と入金、売上データと伝票、帳簿の在庫と棚卸の結果。経理や在庫管理では、2つのデータが合っているかを1件ずつ確かめる「突合(とつごう)」が毎月のように出てきます。
突合は、関数の使い方よりも準備と進め方で、かかる時間と正確さが大きく変わります。この記事では、経理や在庫管理の現場で突合を仕組みにしてきた経験から、エクセルで突合を進める手順と、つまずきやすいところを紹介します。
突合の基本の流れ
どんなデータでも、突合は次の4つの手順で進めると迷いません。
- キーを決める:何を手がかりに「同じもの」とみなすか
- 形をそろえる:空白・全角半角・日付などの表記の違いをなくす
- 両方向から照らし合わせる:AからBを探し、BからAも探す
- 結果を分けて理由を書く:一致・差異・片方にしかない、に分ける
いきなり VLOOKUP を組み始めると、あとから「キーが重複していた」「表記が違って見つからなかった」と、やり直しになりがちです。
手順1:照らし合わせる「キー」を決める
キーとは、2つのデータで「同じもの」を見分けるための列です。伝票番号・請求番号・品目コードのように、1件に1つだけ決まっている番号があれば、それをキーにします。
番号がないときは、列をつなげてキーを作る
入金明細には請求番号が入っていないことがほとんどです。そんなときは、複数の列をつなげてキーを作ります。たとえば「取引先コード+日付+金額」なら、空いている列に次の数式を入れます。
=A2&"|"&TEXT(B2,"yyyymmdd")&"|"&C2
| のような区切り文字を入れておくと、「12」と「3」、「1」と「23」がどちらも「123」になってしまうのを防げます。日付は TEXT関数で形をそろえておきます。
キーが重複していないか先に確かめる
キーの列の横に次の数式を入れ、2以上が出たらそのキーは重複しています。
=COUNTIF(A:A,A2)
VLOOKUP や XLOOKUP は、同じキーが複数あると最初の1件しか見ません。重複を見落とすと、「一致」と出ているのに実は2件目が合っていない、ということが起こります。
手順2:両方のデータの形をそろえる
システムから出したデータと手入力のデータでは、見た目は同じでも中身が違うことがよくあります。照らし合わせる前に、キーの列を中心にそろえておきます。
| よくある違い | そろえ方 |
|---|---|
| 前後や途中の空白 | TRIM関数(前後の空白を取り、間の連続した空白を1つにする) |
| 全角と半角(「101」と「101」) | ASC関数で半角にそろえる |
| 数値と文字(コードの「101」が文字) | VALUE関数、または「データ」→「区切り位置」で数値に直す |
| 先頭の0(「00123」と「123」) | どちらかに合わせる。文字のまま扱うなら TEXT(A2,"00000") で桁をそろえる |
| 会社名の表記(「(株)」「株式会社」) | 名前ではなく、取引先コードをキーにする |
形をそろえるときは、元の列を書き換えず、横に「そろえた列」を作ります。あとで「なぜ合わなかったか」を確かめるときに、元の値が残っていないと困るからです。
手順3:両方向から照らし合わせる
突合で一番多い見落としは、片方からしか照らし合わせていないことです。請求一覧から入金を探すだけでは、「請求していないのに入金があった」ものは見つかりません。
請求一覧(Sheet1)のキーがA列・金額がC列、入金明細(Sheet2)も同じ並びだとすると、Sheet1 側には次の数式を入れます。
=IFERROR(VLOOKUP(A2,Sheet2!A:C,3,FALSE)-C2,"入金なし")
入金が見つかれば「入金額−請求額」の差額が、見つからなければ「入金なし」が出ます。差額が0なら一致です。続けて Sheet2 側にも、反対向きの数式を入れます。
=IF(COUNTIF(Sheet1!A:A,A2)=0,"請求なし","")
差額を数字で出しておくと、「振込手数料の分だけ少ない」のように、次の手順で理由を判断しやすくなります。
手順1のように金額までつなげたキーで照らし合わせると、金額が違うものは「差異あり」ではなく「片方にしかない」に出ます。差額を見たいときは、金額を入れないキー(取引先コード+日付など)で照らし合わせてください。
手順4:結果を3つに分けて、差異の理由を書く
照らし合わせた結果は、次の3つに分けて整理します。
- 一致:キーも金額も合っている。確認は終わり
- 差異あり:キーは合うが金額などが違う。理由を調べる
- 片方にしかない:入金なし・請求なし。未入金、入金の先払い、計上もれなどを調べる
差異と片方にしかないものには、「理由」の列を作って、「振込手数料」「来月入金予定」「請求書の金額訂正待ち」のように書いておきます。翌月の突合で同じものが出てきたときにすぐ分かり、上司や監査への説明にもそのまま使えます。
よくある場面別のコツ
入金の消し込み(請求と入金)
- 振込名義と取引先名が違う:入金明細の名義はカナで、略称や代表者名のこともあります。「振込名義 → 取引先コード」の対応表を1つ作っておき、毎月そこに足していくと、2回目以降が一気に楽になります。
- まとめて入金・分けて入金:複数の請求をまとめて1回で振り込まれる場合は、1件ずつではなく取引先ごとの合計で比べます。A列が取引先コードなら、
=SUMIF(Sheet2!A:A,A2,Sheet2!C:C)で取引先ごとの入金合計を出し、請求の合計と比べます。 - 振込手数料の差し引き:差額が数百円で、取引先との取り決めがあるなら手数料の可能性が高いので、理由の列に書いて処理します。
在庫の突合(帳簿と棚卸)
- キーは品目コード。品名は表記ゆれが多いのでキーにしません。
- 数量の差だけでなく、単位(個・箱・ケース)がそろっているかを先に確かめます。
- 帳簿にしかない品目は「数え忘れ・置き場所違い」、棚卸にしかない品目は「入荷の計上もれ・コードの付け間違い」を疑います。
システムのデータと手元の表
- システムから出したCSVはダブルクリックで開かず、「データ」→「テキストまたは CSV から」で読み込みます。先頭の0や長い番号が変わってしまうのを防げます。
- 合計行や見出しの行が途中に入っている場合は、照らし合わせる前に取り除きます。
毎月の突合を楽にするには
突合は毎月くり返す作業なので、一度決めた手順を「型」にしておくのが一番の近道です。
- キーの作り方・そろえ方・数式を入れたシートをひな形として保存し、毎月データを貼りかえるだけにする
- 理由の列と、名義の対応表は捨てずに育てていく
- 目で見る作業は「差異あり」と「片方にしかない」だけにする
数式を組むのが手間なとき、まずどこが違うかだけ素早く知りたいときは、当サイトの表くらべが使えます。2つのファイルを入れるだけで、行や列の順番がバラバラでも照らし合わせ、「Aにしかない行」「Bにしかない行」「中身が違う行」を両方向まとめて出します。ファイルはブラウザの中だけで読み込み、外には送りません。
まず差異だけ知りたいときに。登録はいりません。
表くらべで突き合わせてみる →「名義の対応表や手数料の判断まで含めて、毎月の消し込みを自動にしたい」「自社のデータに合わせた突合の仕組みがほしい」という場合は、お仕事の依頼からご相談ください。サンプルのファイルを見て、できる範囲をはっきりさせてから無料でお見積もりします。
まとめ
- 突合は「キーを決める → 形をそろえる → 両方向で照らし合わせる → 結果を分けて理由を書く」の順で進める
- 番号がなければ列をつなげてキーを作り、重複がないか先に確かめる
- 元のデータは触らず、そろえた列を横に作る
- 理由の列と名義の対応表を育てると、毎月の突合が早くなる
