对第一个重复值返回“一”,对其他重复值返回“零”

对第一个重复值返回“一”,对其他重复值返回“零”

我正在尝试编写一个公式来检查某一列中的重复项。

1对于重复的第一个实例,它应该返回 a ,0对于其他实例,它应该返回 a。如果值没有重复,它1也应该返回 a。

我尝试使用

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

但是它返回1其他重复实例。

有任何想法吗?

答案1

在此处输入图片描述

在单元格 C1 中写入此公式并向下填写:

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

怎么运行的:

  • 该公式找到所有值的第一个实例,然后将它们计数并放入 1,将其他值放入 0。

注意:

  • 检查屏幕截图,公式正在 B 列中查找重复项,并且对第一个实例返回 1,但对其他实例返回 0。

答案2

非常接近。如果某个值在整个列中出现多次,则您的公式会对该值的每次出现进行计数。换句话说,它会将所有重复值都标记为 1,将单个值标记为 0。

您需要一个仅检查以前的值:

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

请注意,$B$1包含绝对列和行引用,而$B6包含相对行引用。

最终结果是,公式仅计算B从当前单元格到顶部的列中的单元格。如果计数大于 1,则当前B单元格必须包含重复的第二个或更晚的实例。

相关内容