Excelで一致する値を見つける方法|EXACT・MATCH・VLOOKUP関数の使い方
何千もの数値や文字列が入ったExcelブックでは、同じ数字や単語が重複しているのは避けられません。それらの重複を見つけたい場面もあるでしょう。この記事では、Excel 365で一致する値を見つけるための複数の方法を紹介します。
異なる2つのワークシート間、または異なる2つの列にある同じ単語や数字を見つける方法を取り上げます。EXACT、MATCH、VLOOKUP関数の使い方を順番に見ていきましょう。一部の方法はMicrosoft ExcelのWeb版では動作しない場合がありますが、デスクトップ版ではすべて利用可能です。
Excel関数とは?
以前から関数を使っている方は、次のセクションまで読み飛ばしても構いません。
Excel関数とは、ミニアプリのようなものです。一連の手順を適用して、単一のタスクを実行します。最もよく使われるExcel関数は、リボンの「数式」タブにまとめられており、関数の種類ごとに分類されています。
- オートSUM
- 最近使用した関数
- 財務
- 論理
- 文字列操作
- 日付/時刻
- 検索/行列
- 数学/三角
- その他の関数
「その他の関数」カテゴリには、統計、エンジニアリング、キューブ、情報、互換性、Webの各カテゴリが含まれています。
EXACT関数で完全一致を確認する
EXACT関数の役割は、2つの列の行を順に調べ、Excelセル内の一致する値を見つけることです。Exact(正確)という名前の通り、この関数は大文字と小文字を区別します。そのため、「New York」と「new york」は一致とは見なされません。
以下の例では、「Tickets(チケット)」と「Receipts(レシート)」という2つのテキスト列があります。10組程度なら目視でも比較できますが、1,000行以上ある場合はどうでしょうか?そんなときこそEXACT関数が威力を発揮します。
セルC2にカーソルを置き、数式バーに次の数式を入力します。
=EXACT(E2:E10,F2:F10)
E2:E10は1つ目の値の列、F2:F10はその隣の列を指しています。Enterキーを押すと、Excelは各行の2つの値を比較し、一致していればTRUE、不一致ならFALSEを返します。2つのセルではなく範囲を指定しているため、数式は下のセルへスピル(あふれ)し、残りのすべての行も自動的に評価されます。
ただし、この方法には限界があります。同じ行にある2つのセルしか比較できないのです。たとえばA2とB3のような、行がずれたセル同士の比較はできません。それを実現するには、MATCH関数が役立ちます。
MATCH関数で値の場所を特定する
MATCH関数を使うと、特定の値がセル範囲のどこにあるかを把握できます。
たとえば、下の例で特定のSKU(在庫管理番号)が何行目にあるかを調べたいとしましょう。
AA003がどの行にあるかを調べるには、次の数式を使用します。
=MATCH(J1,E2:E9,0)
J1は照合したい値が入力されているセル、E2:E9は検索対象となる値の範囲です。数式末尾の0は、完全一致を探すようExcelに指示します。数値を照合する場合は、1を指定すると検索値より小さい値を、2を指定すると大きい値を見つけることもできます。
ところで、AA003の価格そのものを知りたい場合はどうすればよいのでしょうか?
VLOOKUP関数で関連する値を取り出す
VLOOKUPの「V」は垂直(Vertical)を意味し、指定した値を列の中から縦方向に検索できます。さらに、見つかった値と同じ行にある別の値を返すことも可能です。
Microsoft 365の月次チャネルのサブスクリプションをご利用の方は、より新しいXLOOKUP関数も使用できます。半期チャネルの場合は2020年7月以降に提供されました。
同じ在庫データを使って、商品の価格を調べてみましょう。
先ほど行番号を求めた場所に、今度は次の数式を入力します。
=VLOOKUP(J1,E2:G9,3,FALSE)
J1は照合する値が入力されているセル、E2:G9は作業対象の値の範囲です。ただし、VLOOKUPはその範囲の最初の列のみを照合対象とします。3は、範囲の先頭から数えて3列目を指しています。
つまり、J1にSKUを入力すると、VLOOKUPが一致する行を見つけ、そこから3列分右側にあるセルの値を取得します。FALSEは求める照合の種類を示しており、FALSEは完全一致、TRUEは近似一致を意味します。
異なるシート間で一致する値を見つける方法
上記の関数はいずれも、2つの異なるシートをまたいで一致する値を見つけることができます。ここではEXACT関数を使って手順を説明しますが、これはほぼすべての関数で可能であり、本記事で紹介したものに限りません。また、異なるシートやブック間でセルを参照・リンクさせる方法は他にもあります。
「Holders」シートで作業し、次の数式を入力します。
=EXACT(D2:D10,Tickets!E2:E10)
D2:D10はHoldersシート上で選択した範囲です。カンマを入力した後、「Tickets」シートをクリックし、2つ目の範囲をドラッグして選択しましょう。
Tickets!E2:E10のように、シート名と範囲が参照されているのが確認できます。この例では各行がすべて一致しているため、結果はすべてTRUEになっています。
これらの関数のその他の活用法
一致や検索のためのこれらの関数をマスターすれば、さまざまな作業に応用できるようになります。たとえば、INDEX関数とMATCH関数を組み合わせれば、VLOOKUPに似た処理をより柔軟に行うことも可能です。
Excel関数を使って一致する値を見つける便利なコツをお持ちですか?さらなる活用方法について疑問がありますか?ぜひコメント欄でお聞かせください。
-
Excelで複数のブック・シートの値を一括検索・置換する3つの方法
データセットの修正が必要になる場面は多々あります。しかし、複数のワークシートやワークブックを扱う場合、この作業は非常に手間がかかります。Excelの「検索と置換」機能やVBAコードを正しく使いこなせば、こうした面倒な作業も簡単に行えるようになります。本記事では、「検索と置換」ツールとVBAマクロを使って、複数のシートやファイルにまたがる値を検索・置換する方法をご紹介します。 練習用ワークブックのダウンロード 無料の練習用Excelワークブックはこちらからダウンロードできます。 Excelで複数のワークシート・ワークブックの値を検索・置換する3つの方法 以下のセクションでは、「検索と置換」機
-
Excel で値が重複するリレーションシップを作成する方法
多くの場合、 関係 を作成する必要があります。 重複を含む Excel で データセットには使用できる共通の列があるためです。しかし、どういうわけか両方のテーブルに Duplicate がある場合 値の場合、プロセスの実行が非常に難しくなります。セル値のリストから複数のワークシートを作成する方法を知りたい場合は、この記事が役に立つかもしれません。この記事では、Excel で重複するセル値との関係を作成する方法について詳しく説明します。 この練習用ワークブックを以下からダウンロードしてください。 人間関係を作る 2 つの簡単な方法 重複を含む Excel で 値 関係を作成するために、次の