Excelで文字列の重複をチェックしたい。
どうすればいいんだろう?
こんな疑問を解消します。
『2つのデータから、重複しているデータを抽出したい』時ってありますよね。
『MATCH関数』『ISNUMBER関数』『IF関数』を使用すれば簡単に抽出できます。
そこで今回は、『Excelで文字列が重複しているかチェックする方法』について解説します!
・ MATCH関数とは
・ ISNUMBER関数とは
・ IF関数とは
重複データ抽出の流れ
重複データを抽出するには、『MATCH関数』『ISNUMBER関数』『IF関数』の3つが必要です。
各関数は、以下のように3STEPで使用します。
1.MATCH関数を使用して、重複データの相対位置を抽出
2.ISNUMBER関数を使用して、数値データか否かを判定
3.IF関数を使用して、任意の文字列に変換
今回は、『データAとデータBで重複する文字列を抽出する』場合を想定し、各STEPについて解説していきます。
1.MATCH関数を使用して、重複データの相対位置を抽出
重複データのみ、相対位置である『数値』が抽出されています。
データBで『山田花子』は上から4番目であるため、重複欄には『4』が表示されるのです。
それに対して、重複していないデータについては、『#N/A』が抽出されています。
2.ISNUMBER関数を使用して、数値データか否かを判定
数値データのみ、『TRUE』が抽出されています。
それに対して、『#N/A』データについては、『FALSE』が抽出されています。
3.IF関数を使用して、任意の文字列に変換
『TRUE』データのみ、『○』が抽出されています。
それに対して、『FALSE』データについては、『×』が抽出されています。
これで完了です。重複データには『○』が付きました。
MATCH関数とは
MATCHは、『指定した文字列をある範囲の中で検索し、その範囲内の相対的な位置を返す』関数です。
かなり分かりにくいと思うので、具体例を交えて説明します。
例えば、『ある名前がデータの中に存在するか調べたい』場合を考えてみましょう。
MATCH関数を使用すれば、『データの中にある名前を検索し、その名前がデータの何番目にあるか抽出する』ことが可能です。
MATCH関数の使い方
MATCH関数の引数は、以下の3つとなっています。
MATCH(検査値, 検査範囲, [照合の型])
引数 | 説明 |
検索値 | 検索したい値またはセル参照を指定する。 |
検索範囲 | 検索範囲とするセルを指定する。 |
照合の種類 | -1、0、1 の数値のいずれかを指定する。0を指定すると、検査値と完全一致する最初の値を検索する。 |
それぞれの引数について、具体例を踏まえて説明していきます。
『ある名前がデータの何番目にあるか調査する』という作業で考えてみましょう。
検索値
データの何番目に調査したい名前があるか検索する場合には、『調査したい名前』に該当します。
今回は「山田花子」さんです。
検索範囲
データの何番目に調査したい名前があるか検索する場合には、『データ』に該当します。
今回は「データの氏名」です。
照合の種類
検索値後データ値が『完全に一致した場合にのみ必要データを抽出する』際は『0』を指定します。
それに対して、検索値とデータ値が『完全に一致しない場合に検索値に最も近いデータを抽出する』際は『1』または『-1』を指定します。
今回は、完全に一致する場合に抽出することを考えて『0』とします。
結果の例
検索したい値である『山田花子』は、データの4番目にあるため、4という数字が抽出されています。
このように、MATCH関数は『検索したデータの相対位置』を抽出できます。
ISNUMBER関数とは
ISNUMBERは『指定したセルの値が、数値か否かを判定する』関数です。
これはイメージしやすいですよね。さらに、具体例を交えて説明していきます。
例えば、あるセルに入力された値が「数値か否か調べたい」場合を考えてみましょう。
ISNUMBER関数を使用すれば、以下のように『セルの値を参照し、それが数値か否か判定する』ことが可能です。
ISNUMBER関数の使い方
ISNUMBER関数の引数は、以下の1つとなっています。
ISNUMBER(テストの対象)
引数 | 説明 |
テストの対象 | 数値か否か判定したいセルを指定する。 |
引数について、具体例を踏まえて説明していきます。
『調べたいセルの値が数値ならTRUEを返す』という作業で考えてみましょう。
テストの対象
調べたいセルの値が数値か否か判定する場合には、『調べたいセル』に該当します。
今回は『1』です。
結果の例
テストの対象が『1』の場合は『TRUE』、テストの対象が『文字列』の場合は『FALSE』が抽出されています。
このように、ISNUMBER関数は『調べたいセルの値が数値か否か判定』できます。
IF関数とは
IFは『あるセルの値が指定した条件式に対して、真の場合は値Aを表示し、偽の場合は値Bを表示する』関数です。
少し分かりにくいですよね。具体例を交えて説明します。
例えば、名簿の中で「山田花子さんだけ○を付けたい」場合を考えてみましょう。
IF関数を使用すれば、以下のように『データの中にある名前において、指定した名前に○を、それ以外に×を付ける』ことができます。
IF関数の使い方
IF関数の引数は、以下の3つとなっています。
IF(論理式, [値が真の場合], [値が偽の場合])
引数 | 説明 |
論理式 | 条件式であり、値を比較する。 |
[値が真の場合] | 条件式に対して、結果が真である場合に返す値。 |
[値が偽の場合] | 条件式に対して、結果が偽である場合に返す値。 |
それぞれの引数について、具体例を踏まえて説明していきます。
『名簿の中で山田花子さんだけに○を付ける』という作業で考えてみましょう。
論理式
名簿の中で山田花子さんだけに○を付ける場合には、『山田花子さんか否か判定する式』に該当します。
今回の例では、「B4=$E$S4という式」です。
[値が真の場合]
名簿の中で山田花子さんだけに○を付ける場合には、『○』に該当します。
今回は、『○』です。
[値が偽の場合]
名簿の中で山田花子さんだけに○を付ける場合には、『×』に該当します。
今回は、『×』です。
結果の例
調べたい文字列が『山田花子』の場合は『○』、それ以外の場合は『×』が抽出されています。
このように、IF関数は『データの中にある名前において、指定した名前に○を、それ以外に×を付ける』ことができます。
Excelで文字列の重複をチェックする方法まとめ
いかがでしたでしょうか。
3つの関数を使用すれば『Excelで文字列が重複しているかチェック』できることが分かりました。
私自身、文字列の重複チェックは業務でもよく行います。
文字列の重複をしたい場合は、今回紹介した方法を丸パクリしてみて下さい。
\現役エンジニアが解説!/
人気記事 【メーカー社会人3年目】私自身の年収を公開します!
人気記事 【2024最新版】男性育休の体験談を紹介します!