• 作成日 : 2024年11月20日

エクセルの突合とは?メリット・デメリットや活用例をわかりやすく解説

日常の業務において「新旧の顧客リストを比較したい」「実際の在庫数と記録された在庫数を照合したい」など、異なる2つのデータを比較して違いを見つけたいことがあります。そのような場合、エクセルの関数が役に立つかもしれません。

この記事では、エクセルで突合を行うメリットやデメリットに加えて、いくつかの事例を紹介します。

エクセルの突合とは

エクセルは、大量のデータを効率的に突合・照合する際に非常に有用なツールです。

「突合(とつごう)」とは、複数の対象を「突き合わせる」という意味であり、異なるデータ間においてデータを比較し、確認することを言います。つまり、突合とは元データと加工後のデータを比較して、加工後のデータに間違いがないか確認することです。

突合と似た用語に「照合(しょうごう)」があります。照合は、2つのデータを比較して、対象となるデータが相手方に実在するか、両者は一致するかを確かめることです。

エクセルを使った実際の作業では、突合も照合もあります。この記事では突合だけでなく、照合を含めて複数のデータを並べて比較し、突合・照合するケースを見ていきましょう。

エクセル関数を利用する

突合などの作業においてよく使われるエクセル関数には、VLOOKUP関数、EXACT関数などがあります。さらに、IF関数やSUM関数、COUNT関数などのベーシックな関数を組み合わせることもよくあります。

【VLOOKUP関数】

最もよく利用される関数の一つがVLOOKUP関数です。特定の値を検索し、対応する情報を別の表から取得します。

(VLOOKUP関数の進化版と言われるXLOOKUP関数もMicrosoft365やExcel2021などで使えますが、まだ普及率があまり高くはないようです。)

【EXACT関数、MATCH関数など】

EXACT関数では、2つの文字列が完全に一致するかどうかを判定します。また、MATOCH関数は、指定したセルの範囲から検索値が何番目にあるかという情報を数値で返してくれる関数です。答えが「1以上」であれば存在していることを示します。

これら以外にも目的によって種々の関数が使われます。また、IFERROR関数などはエラーかどうかを判断するときによく使われます。

エクセル関数について簡単な使い方の例を見てみましょう。

エクセル関数_簡単な使い方例

(例)新人が作った新価格表の照合・突合作業

商品マスターと単価マスターを参照して、新人が作った価格表を検証します。

(照合結果)存在するかどうか?

新人の価格表には左端の列に「080」とマスターにはないコードがあるので、VLOOKUP関数の照合結果は#N/A(エヌ・エー)となっています。これはNot Available(利用不可)の意味で、参照先の商品マスターに検索値がないため、正常な値を返せない状況を示しています。

(突合結果)一致するかどうか?

新人の価格表と照合結果を突合したものが突合結果で、EXACT関数が使われています。ここでは左右の表の違う部分には、FALSE(文字列の不一致)が示されています。

エクセルマクロを利用する

エクセルのマクロ機能を利用して突合作業をすることもできます。もともとエクセルのマクロ機能は、反復作業の自動化を主目的としたものです。同じ操作を繰り返し行う作業を自動化することで、データの整形、集計などの反復的な工程を効率化するために開発されました。

マクロとはエクセル操作を自動化するための記録の機能であり、VBA(Visual Basic for Applications)はそのマクロを編集するためのプログラミング言語です。作業が登録されると、エクセル内にVBAのモジュール(プログラム)が作成されます。エクセルマクロの例として、下にモジュールの例を示しますが、ここではモジュール記載内容については省略します。

エクセルマクロ利用

エクセル関数は比較するデータが同じブック内にあったほうが作業しやすいですが、マクロでVBAを作成しておくと、別々にあるデータを比較して、その結果だけを新しいブックまたはシートに書き出すことも簡単にできます。

また、エクセル関数にはできないファイル操作(開く、閉じる、名前を付けて保存など)もマクロでは可能となります。

エクセルで突合を行うメリット

エクセルにおいて、突合作業を行う場合のメリットを3つ紹介します。

ソフトの操作に慣れているケースが多い

事務作業においては、多くの人がエクセルを日常的に使用するため、操作に慣れているケースが多いです。もともと基本的な操作方法を知っている人が多いため、新しいソフトウェアを学ぶ必要がなく、すぐに作業に取り掛かれることが大きなメリットと言えます。

パソコンの基本的な操作とエクセルの基礎知識を活用するだけでも、ある程度は効率的にデータを処理することが可能です。

導入コストが安価

エクセルはマイクロソフトオフィス(Microsoft Office)の一部としてWord等とともに提供されており、すでにライセンスを持つ企業が非常に多いと言えます。

したがって、エクセルだと新たに高価なソフトウェアを購入する必要がなく、導入コストを抑えられます。さらに、ライセンス購入しなくても、クラウド型のOffice 365としても提供されているため、サブスクリプションモデルとして利用することが可能です。これにより初期投資を抑えつつ、常に最新のバージョンを利用することができます。

目的に合わせてカスタマイズできる

エクセルは非常に応用範囲が広く、目的に合わせて自由にカスタマイズできます。関数やマクロ機能により、自動化や複雑なデータ処理を行えます。

また、エクセルにはピボットテーブルという大量のデータを簡単に集計・分析・視覚化するためのツールも備わっています。さらに、エクセルのグラフ機能により視覚的にデータを表現することも可能です。

エクセルで突合を行うデメリット

エクセルを利用する場合、心得ておいたほうがよいデメリットも3点紹介します。

同時編集に不向きで業務が属人化しやすい

エクセルは、基本的に一人で編集することを前提として設計されています。文書を共有した状態での編集も可能ですが、複数人で同時に編集するのには不向きと言えます。

同時ではなくとも、あちこちの端末からエクセルファイルを編集している場合、最新のバージョンがわからなくなることがあるのです。そのため、業務が特定の個人に依存しやすくなり、業務の属人化が進む可能性があります。

大量のデータを処理すると重くなる

エクセルは、大量のデータを扱う際にパフォーマンスが低下することがあります。パソコン環境などにもよりますが、多すぎるデータを処理すると、操作が遅くなったり終わらなくなったり、ファイルがクラッシュしたりするリスクが高まるでしょう。これにより、想定していたデータ処理が難しくなることがあります。

誤操作によりデータが改変・削除されやすい

エクセルは、基本的には手動での操作が多いため、誤操作によってデータが改変されたり削除されたりするリスクが常にあります。例えば、誤って上書きしたり、重要なデータを削除してしまったりすることなどです。

また、エクセル操作も幅が広いため、エクセル上級者の作成したファイルをエクセル初級者がうまく扱えないこともあり、データの正確性や一貫性が損なわれる可能性があります。

入金消込にエクセルを活用する方法

エクセルは、入金消込に活用することができます。マクロ内で関数を使うことも可能なため、まずは関数に慣れることをおすすめします。以下で簡単な事例を見てみましょう。

エクセル関数を活用する場合

ここでは、VLOOKUP関数を用いた売掛金の入金消込用ファイルを作成します。

(例)売掛金消込チェック

この例では、顧客に振込時に氏名欄に「請求番号4桁」を入力してもらうこととしています。

  1. 売掛金データ(A)と入金明細データ(B)をエクセルにて準備します。
    銀行のデータBについては、マッチングしやすいように予め編集済みとします。
  2. AとBを並べておき、AとBがマッチングした場合、Aに入金額と消込日を入力します。ただし、部分入金や振込手数料を引いた入金については後で解決することとします。

マッチング前の売掛金データA(シート1)

エクセル関数活用1

入金明細データB(シート2)

黄色い列は、LEFT関数を使って検索用に摘要欄の左から4文字を挿入したものです。

エクセル関数活用2

Aシートの入金額欄に下のようにVLOOKUP関数を入れて、下にコピーします。

データBには株式会社Aからの入金がないためエラーになりますが、その他は該当するため金額が表示されます。

エクセル関数活用3

同様にAシートの消込日にも同じようなVLOOKUP関数を入れ、下にコピーします。

エクセル関数活用4

Aシートの入金額や消込日の欄を元に、ソフトに消込入力をすると時短になります。

このように、ある程度マッチングしやすいようにデータ編集をした後であれば、VLOOKUP関数で入金額や消込日を取得することが可能です。

エクセルマクロを活用する場合

マクロを活用して、上記と同じ売掛金の消込チェックを行ってみましょう。

シート1およびシート2は上記と同じような状態にして、マクロによって入金日と消込日を入れるようにします。転記が終わるとメッセージが表示されることとします。

エクセル関数活用5

シート1                                                                                                          シート2

エクセル関数活用6

マクロの実行結果、シート1は次のようになります。

エクセル関数活用7

マクロの記載内容については、コメントとして緑の文字で書かれている処理をしています。

別シートと突合して重複をチェックする関数

今度はエクセル関数によって、別シートにあるマスターファイルと突合して重複チェックをしてみましょう。この記事の最初に示した例の応用編です。

(例)別シートにあるマスターシートとの突合例

顧客名簿で未整理のものがあるとします(未整理シートとします)。

未整理シートには顧客コードと名称が書かれており、マスターシートと重複するものには「重複」、マスターシートに未登録のものは「新規登録」と関数で入力することとします。

マスターシートおよび未整理シートは次のものとします。

エクセル関数_重複チェック1

マスターシート                                                                                           未整理シート

未整理シートのC列にMATCH関数を中心に、IF関数やIFERROR関数を入れます。

エクセル関数_重複チェック2

ここでは、MATCH関数によって、マスターシートにあれば「重複」、MATCH関数がエラーになれば「新規登録」と表示する関数を入れました。さらに、C列には条件付き書式を設定して、「重複」という文字列があれば、セルを赤くする機能を使っています。(右横のウィンドウは書式設定時のものです)

エクセルの突合ではあまり複雑化しないことが大切!

エクセルの関数を使っての突合・照合はバックオフィスにおいては頻度が高い作業です。関数の中に関数を入れて複雑にすることは可能ですが、後になって検証が難しくなるため、できるだけ単純化することをおすすめします。同様に、マクロ機能も便利ですが、あまり複雑化するとブラックボックス化する恐れがあります。

エクセル関数を便利に使うためには、複雑化せずに、データ数も何万件などと増やさないほうがよいでしょう。最終的に目視で確認できる範囲で利用することをおすすめします。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事

会計の注目テーマ