用于在行(由相同值定义)和相邻列的值组成的簇内计数的Excel公式对于给定簇是相同的

用于在行(由相同值定义)和相邻列的值组成的簇内计数的Excel公式对于给定簇是相同的,excel,excel-formula,Excel,Excel Formula,我有一个包含大型数据集的电子表格,需要一个公式来实现以下目标(见附图): 目标是让Excel执行以下操作: 1-根据A列中的相同值识别和聚类行(在这种情况下,我们应该有“Alpha,Bravo,Charlie”聚类) 2-在每个集群内,如果集群B列中的所有值都是“单个”的,则返回一个新的计数(例如,称为“单个计数”) 3-如果任何行在给定集群的B列中包含值“Entity”,则返回一个新计数(例如,称为“Entity count”) 根据上述示例,输出应为: 单个计数=1(仅Alpha仅包含与其

我有一个包含大型数据集的电子表格,需要一个公式来实现以下目标(见附图):

目标是让Excel执行以下操作:

1-根据A列中的相同值识别和聚类行(在这种情况下,我们应该有“Alpha,Bravo,Charlie”聚类)

2-在每个集群内,如果集群B列中的所有值都是“单个”的,则返回一个新的计数(例如,称为“单个计数”)

3-如果任何行在给定集群的B列中包含值“Entity”,则返回一个新计数(例如,称为“Entity count”)

根据上述示例,输出应为:

单个计数=1(仅Alpha仅包含与其行关联的“单个”)
Entity Count=2(Bravo和Charlie都至少包含与其行关联的“Entity”)

以下公式确实非常冗长,需要花费相当长的时间才能得出。要考虑的变量太多。我尝试了频率函数,但无法使其与文本单元格一起工作,包括其他函数的变化。公式可放置在单元格C1中,并根据需要填写:


如果(A$1:A$1:A$10.10和B$1:B$10.10.B$10.10=“布拉VO实体”,1“1,”,0)、0)和(如果(如果(A$1:A$1:A$10.A$10和B$10.10和B$1:B$10和B$1:B$10.B$10=“布拉VO实体”,1,“1”,1,”)0)、0)和(如果(如果(如果(A$1:A$1:A$1:A$1:A$1:A$1:A$10.10和B$10和B$10和B$1.10和B$10.10.10.10.10.10.10.10.10.10.B$10.10.10.10.10.10.10.10.10.10.10.B$10.10.10.10.10.10.B.10.10.10.10.10.10.10.10)10总和(如有的话)(A$1:A$1:A$1:A$1:A$10 10 10和B$1:B$10和B$10和B$1:A$10和B$1:A$10和B$10和B$10和B$1:B$10和B$10和B$10和B$1:B$10.10.10.10=“字母个人”,1,”、0)++如果(以及(以及(以及(A1A2,A1,A1=“查理)2,A1=“查理)2)和(查理),总额(如果(以及(以及(如果)和(以及(如果)和(如果)和(A A A2,1.A2,1.1.1.1.1.1.1,1.1.1.1.1.1.1.1.1.1=“查理)(查理)(查理)(查理)和(查理)(查理))、)、)、)、如果(如果)和(如果(如果(如果(如果)和(如果(如果)和(如果)和(如果(如果)和A,A1=“Charlie”)、金额(如果(A$1:A$10&B$1:B$10=”CharlieEntity“,1,”),0))、“”)*IFERROR(金额(如果(A$1:A$10&B$1:B$10=”CharlieEntity“,1,”)、“”)欢迎来到Stack Overflow!纯代码编写请求与Stack Overflow无关-我们希望这里的问题与特定的编程问题相关-但我们很乐意帮助您自己编写!告诉我们,以及您的困境。这也将帮助我们更好地回答您的问题。您是否尝试过使用pivot表?根据我的理解您需要计算两件事:1)只包含单个的不同名称的数量;2)包含多于或多于单个的不同名称的数量。如果是这样,您可以使用一个helper列(或者可能是两个helper列)如果你不介意使用帮助栏,请回答你的问题。非常感谢,Terry-我将探索这种方法,并将结果反馈给你。干杯!@Faraday:如果一位Excel大师用更合理的简短公式回答问题,请使用该公式。(我也将从他的回答中学习)罗杰,非常感谢您的努力,我将测试它并返回给您。正如您所提到的,如果有人可以提供更紧凑的解决方案,我一定会直接通知您。再次非常感谢。