繁体   English   中英

计算不同值,多个条件的公式,其中一个条件=或<>所有重复值

[英]Formula for count of distinct values, multiple conditions, one of which = or <> all repeating values

Excel公式(我知道这可能适用于数据透视表,但需要一个公式)来计算不同的值。 如果这是我在Excel中的表格:

Region | Name   | Criteria 
------ | ------ | ------   
1      | Jill   | A     
1      | Jill   | A
1      | John   | B     
1      | John   | A
2      | Jane   | B     
2      | Jane   | B
2      | Bill   | A     
2      | Bill   | B
3      | Mary   | B     
3      | Mary   | B 
3      | Gary   | A
3      | Gary   | A

在此示例中,我采用以下形式来计算每个区域内的不同值=SUM(--(FREQUENCY(IF((Table1[Region]=A2)*(Table1[Name]<>""),MATCH(Table1[Name],Table1[Name],0)),ROW(Table1[Name])-ROW(Table!B2)+1)>0))共2个(区域1 = Jill&John; 2 = Jane &Bill,3 = Mary&Gary,每个不同的名字都计算一次)。

我有一个加法公式,可以通过在<>“”)之后添加*(Table1[Category]="B")在每个区域内每个不同名称至少具有1个“ B”的条件来计算多少个不同值。 ..在此示例中,它将返回Region 1 = 1,Region 2 = 2、3 = 1,因为Jill和Gary没有“ B”-所有其他人都至少有一个“ B”。

现在,我陷入了最后一个公式,我想计算每个区域中多少个不同的值 在所有情况下都具有B。 结果应为区域1 = 0(吉尔没有B,约翰具有B,但也有A),区域2 = 1(简出现两次,计为1个不同值,并且两次出现都是B,比尔有一个B在他的其中一个中),并且3 = 1(玛丽拥有所有B)。

对于仅执行公式的任务来说太复杂了,但是可行。

以下数组公式可以完成这项工作。 尽管您没有指定,但是我想如果“ Mary”在另一个区域中具有A,则只要在区域3中所有名称为“ Mary”的记录都具有“ B”,就不应取消她在区域3中的计数。 。 换句话说,名称可以在不同的区域中重复,但不会在区域中产生干扰(这使公式变得更长。为此,我添加了一个测试用例,区域4中的玛丽在A处不会干扰区域3中的玛丽)。

=SUM(IF((Table1[Region]=Table1[@Region])*(0=COUNTIFS(Table1[Region],Table1[@Region],
Table1[Name],Table1[Name],Table1[Criteria],"<>B")), 1/COUNTIFS(Table1[Name],Table1[Name],
Table1[Criteria],"B",Table1[Region],Table1[@Region]), 0))

输入它, 然后按 Ctrl Shift Enter 然后复制/粘贴该列。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM