Excel:如何根据不同单元格中的特定值比较一行中的值

Excel:如何根据不同单元格中的特定值比较一行中的值

我正在寻找一个 excel 公式,该公式允许我根据单元格中的值比较不同行中的多个值。我需要该公式查看 C 列中的所有单元格,找到相同的单元格,并将 B 列中的值与 C 列中的所有相同值进行比较。例如,我需要该公式查找有 6 个相同的值,即帐户 3,并比较 B 列的值,如果 B 列中的值不相同,则返回 false。

希望这有意义。我一直在尝试不同的 if 公式,但无济于事。谢谢!

这是此设置的图片

答案1

有人可能会为此想出一个公式,但首先想到的是根据数据创建一个数据透视表,然后对数据透视表结果使用公式。

在这里,我们为您的数据创建了一个数据透视表,在创建数据透视表期间,选中“将此数据添加到数据模型”复选框。在数据透视表设计中,行是帐户,值是类型计数。然后右键单击任何具有值的类型计数行,并选择“值字段设置”。向下滚动并选择“不同计数”。由于我们已将数据添加到数据模型,因此不同计数是一个选项。

然后,D 列可以有以下真/假公式:

=IF(VLOOKUP(C2,H:I,2)>1,"False","True")

如果帐户具有多个不同类型,则此公式将显示 FALSE,否则显示 TRUE。

在此处输入图片描述

答案2

根据我对您的问题的理解,一种可能的公式方法如下。

请参阅下面的示例数据截图。

在此处输入图片描述

首先从 Col C 帐户获取唯一值列表。

在 E2 中输入以下公式,然后按公式栏中的CTRL+ SHIFT+ENTER创建数组公式。此步骤是必需的。数组公式将自动括在花括号中。将其向下拖动直到空白。现在这将创建一个唯一的列表。在这种情况下,需要标题行才能使公式正常工作。

如果您有 Office 2021 或 365,您可以直接使用 UNIQUE 函数。

=IFERROR(INDEX($C$2:$C$16,MATCH(0,COUNTIF($E$1:E1,$C$2:$C$16),0)),"")

现在应用标准

在 F2 中输入以下公式。

=COUNTIF($C$2:$C$16,E2)=COUNTIFS($C$2:$C$16,E2,$B$2:$B$16,INDEX($B$2:$B$16,MATCH(E2,$C$2:$C$16,0)))

根据需要将其向下拖动。

如果您只是希望 Col D 显示 Col C 中每个帐户的状态。

在 D2 中使用以下公式,并根据需要将其向下拖动。

=COUNTIF($C$2:$C$16,C2)=COUNTIFS($C$2:$C$16,C2,$B$2:$B$16,INDEX($B$2:$B$16,MATCH(C2,$C$2:$C$16,0)))

在此处输入图片描述

相关内容