web-dev-qa-db-ja.com

重複する値の最初のインスタンスには「1」を返し、その他のインスタンスには「0」を返します

1つの列の重複をチェックする数式を記述しようとしています。

重複の最初のインスタンスの場合は1を返し、他のインスタンスの場合は0を返します。値に重複がない場合は、1も返す必要があります。

使ってみた

=IF(COUNTIF($B:$B, B6)>1,1,0)

ただし、重複する他のインスタンスの場合は1を返します。

何か案は?

3
Astrid 22

enter image description here

この数式をセルC1に書き込み、記入します。

=(COUNTIF($B$1:$B1,$B1)=1)+0

仕組み:

  • 数式は、値の最初のインスタンスをすべて検索し、それらをカウントして1を置き、次に他のインスタンスに0を置きます。

N.B。

  • 数式が列Bで重複を検出しているスクリーンショットを確認し、最初のインスタンスでは1を返し、他のインスタンスでは0を返します。
2
Rajesh S

それは近いです。式は、値が出現するたびに列全体で値が複数回出現するかどうかを数えます。つまり、重複するすべての値にどこでも1のフラグを立て、単一の値にゼロのフラグを立てます。

previousの値のみをチェックする式が必要です。

=IF(COUNTIF($B$1:$B6, B6)>1,0,1)

$B$1には、列と行の絶対参照が含まれますが、$B6には、相対行参照が含まれています。

最終結果は、数式が現在のセルから最上部までのB列のセルのみをカウントすることです。カウントが複数の場合、現在のBセルには、複製の2番目以降のインスタンスが含まれている必要があります。

3
robinCTS