在每个数据子集内查找重复项

在每个数据子集内查找重复项

我对比较两列有疑问。

在此处输入图片描述

柱子列中必须有唯一数据A重复范围(范围以不同的颜色突出显示)。

柱子A有重复数据>需要将其设置为比较列的范围(数量不均)

例子:

  • 第一组

19A19 -

19A19 N0025R0

  • 第 2 组

A057 021-21----

A057 021-22----

=IF(A2=A:A,IF(COUNTIF(A:A,A2),B2=B3,""),"") 目前我尝试了这个公式(它只逐个比较 MAT 列)

我需要正确的结果,因为红色突出显示,任何人都可以帮助我。

答案1

重新表述问题:

A 列包含类别列表。B 列包含子类别列表。我们需要检测并标记 A 中每个类别内的重复子类别。

例如:

Fruit    Banana    Duplicate!
Fruit    Apple     
Fruit    Banana    Duplicate!
Veg      Tomato    
Veg      Potato    Duplicate!
Veg      Potato    Duplicate!

假设:

数据按类别/A 列排序。

解决方案:

首先定义一些名称。将 A 列中的数据定义为数据1并且 B 列中的数据为数据2

然后在 C2 中:=IF(COUNTIF(组范围,B2)>1,"重复","")

在哪里组范围是 =INDEX(data2,MATCH(A2,data1,0)):INDEX(data2,MATCH(A2,data1,0)+COUNTIF(data1,A2)-1)

如果你想更花哨,实际上定义组范围作为 Excel 中的命名范围。将光标放在 C2 中,单击公式 > 定义名称,然后将上述公式添加到“引用”文本框中。现在,组范围被称为动态命名范围(即根据其所在单元格的位置而变化的命名范围)。它将返回当前所选类别的整个子类别范围。例如,如果子类别是一个数字,您可以在 c 列中输入 =SUM(grouprange)。

答案2

=IF(COUNTIFS(data1, A2, data2, B2)>1,"Duplicate","")

这太简单了!

解释

让我们快速看一下这个公式中发生了什么。首先,它有助于考虑数据的大小(向量维度)。data1 和 data2 分别是 nx 1 的列向量。A2 是一个标量(1 x 1),当像这样进行比较(data1 = A2)时,会生成另一个 nx 1 向量,例如(true;true;false...)。

COUNTIF(data1, A2) 基本上会计算比较向量中真实值的数量,并生成一个等于 data1 中 A2 出现次数的标量值(总和)。COUNTIF年代作用相同,但针对多组标准。因此,计算组合比较向量 AND(data1 = A2, data2 = B) 中真值的数量。

相关内容