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&amp; John; 2 = Jane&amp; Bill,3 = Mary&amp; ;加里,每个不同的名字都算一次)。
我有一个附加公式,通过在&lt;&gt;“”之后添加*(Table1[Category]="B")
来计算每个区域内每个不同名称至少有1个“B”的标准的不同值。在这个例子中,它将返回Region 1 = 1,Region 2 = 2,3 = 1,因为Jill和Gary没有“B” - 所有其他人至少有一个“B”。
现在我被困在我的最后一个公式上,我想计算每个区域中有多少不同的值所有B中出现的所有B. 结果应该是区域1 = 0(Jill没有B,John有B,但也有A),区域2 = 1(Jane出现两次,计为1个不同的值,两个出现都是B,Bill有一个B in他的一个,3 = 1(玛丽有所有的B)。
答案 0 :(得分:0)
对于仅限公式的任务来说,这太复杂了,但是可行。
以下数组公式完成了这项工作。虽然你没有指定它,但我想如果“Mary”在另一个区域有一个A,这不应该取消她在区域3中的计数,只要区域3中名称为“Mary”的所有记录都有一个“B” 。换句话说,名称可以在不同的区域重复,但不应该跨区域干扰(这使得公式更长。我为此添加了一个测试用例,区域4中的玛丽与A区域3中的玛丽没有干扰)。 / p>
=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 输入。然后复制/粘贴列。