Excelで任意の7数字セットが別シートに存在するかを判定する方法

Excel

Excelで、あるセル範囲に入力された7つの数字が、別シートの横並び7セルの中に存在するか判定したい場合、関数だけで処理する方法があります。この記事では順不同での一致判定の手順を解説します。

判定の基本方針

判定したい数字セット(例:Sheet1!A1:A7)が、別シートの表(例:Sheet2!D2:J100)の各行に存在するかを確認するには、COUNTIF関数で1つずつカウントし、すべての数字が揃っているかをAND関数で確認します。

順不同での一致を判定するためには、各数字がその行内に存在するかどうかを個別にチェックします。

具体的な関数例

例えばSheet1のA1:A7の数字セットを、Sheet2のD2:J100の行と比較する場合、1行目に対しては次のような配列数式が使えます。

=AND(COUNTIF(Sheet2!D2:J2, A1)>0, COUNTIF(Sheet2!D2:J2, A2)>0, COUNTIF(Sheet2!D2:J2, A3)>0, COUNTIF(Sheet2!D2:J2, A4)>0, COUNTIF(Sheet2!D2:J2, A5)>0, COUNTIF(Sheet2!D2:J2, A6)>0, COUNTIF(Sheet2!D2:J2, A7)>0)

これで、1行目に7数字全てが含まれていればTRUE、1つでも欠けていればFALSEを返します。

複数行での検索

複数行でチェックしたい場合は、MATCH関数やFILTER関数と組み合わせてTRUEになる行を探すことができます。例えば、最新のExcelでは次のように書くことも可能です。

=FILTER(Sheet2!D2:J100, (COUNTIF(Sheet2!D2:J100, A1)>0)*(COUNTIF(Sheet2!D2:J100, A2)>0)*…*(COUNTIF(Sheet2!D2:J100, A7)>0))

この方法で、条件を満たす行だけを抽出できます。

注意点と応用

数字が重複している場合や、行内に余分な数字があっても判定できますが、完全一致(7つ以外の数字がない)を求める場合は、行内の合計個数やCOUNT関数で補正する必要があります。

必要に応じてSUMPRODUCT関数を使って、さらに柔軟に判定条件を設定できます。

まとめ

Excelで順不同の7数字セットが別シートに存在するかを判定するには、COUNTIFとANDを組み合わせる方法が簡単です。複数行に対して判定する場合は、MATCHやFILTER関数と併用することで効率的にチェックできます。

これにより、マクロを使わず関数だけでデータの一致判定が可能になります。

コメント

タイトルとURLをコピーしました