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関数と併用することで効率的にチェックできます。
これにより、マクロを使わず関数だけでデータの一致判定が可能になります。


コメント