質問1337631を参照 あるデータセットの特定の範囲の値が別のデータセットに存在するかどうかを確認する
このソリューションはうまく機能しますが、同じ範囲内でチェックしたい場合はどうでしょうか? これを 2 つの目的で使用します: 1) データ入力時に、特定の組み合わせがすでに入力されていることを警告する (他のデータが異なるため、正当な理由がある可能性があります) 2) すべての重複レコードをマークする
この数式を最初の目的 (入力) に使用するには、現在のエントリより上の範囲をチェックします。これでうまくいきますが、目的 2 は使用できません...
これらを組み合わせて機能させるための提案はありますか? 現在の行を除くすべてを連結すると機能するはずです... しかし、それは数式の複雑な変更になるのでしょうか?
答え1
答え2
素晴らしい代替式ですが、拡張リストに適用できるようにするために式を次の「オープンエンド範囲」に拡張すると、CPU が最大 90% 使用され、シートが使用できなくなります...
=IF(ISTEXT(D7);IF(SUM(IF(B7&C7&D7=$B:$B&$C:$C&$D:$D;1;0))>1;"重複";"一意");"")
これを利用できるようにする解決策はありますか? 行数を 8 ~ 1000 に制限したところ、機能するようになりましたが、もちろんシートの成長を追跡する必要があります。