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

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 

在这个例子中,我有以下forms来计算每个区域内的不同值=SUM(--(FREQUENCY(IF((Table1[Region]=A2)*(Table1[Name]<>""),MATCH(Table1[Name],Table1[Name],0)),ROW(Table1[Name])-ROW(Table!B2)+1)>0))结果在每个(地区1 =吉尔约翰; 2 =简&比尔,3 =玛丽&加里,每个不同的名字都计算一次)。

我有一个附加公式来计算在每个区域内每个不同的名字至less有1个“B”的标准,通过在<>“之后加*(Table1[Category]="B")来计算多less不同的值。在这个例子中,它将返回区域1 = 1,区域2 = 2,3 = 1,因为吉尔和加里没有“B” – 所有其他人至less有一个“B”。

现在我被卡在最后一个公式上了,在这里我要计算每个区域内多less个不同的值 在所有事件中都有ALL B。 结果应该是区域1 = 0(吉尔没有B和约翰有一个B,但也有一个),区域2 = 1(简出现两次,计为1个不同的值,两个事件是B,比尔有一个B在他的一个),和3 = 1(玛丽有所有Bs)。

对于公式专有的任务来说太复杂,但是可行的。

下面的数组公式完成这项工作。 虽然你没有指定,但是我想如果Mary在另外一个地区有一个A,那么在区域3中,只要名字为“Mary”的所有logging都有一个“B” 。 换句话说,名字可以在不同的地区重复使用,但是不应该影响到地区(这会使得公式更长,我为此增加了一个testing用例,玛丽在地区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)) 

input它, 然后按 Ctrl Shift Enter 。 然后复制/粘贴列。

在这里输入图像说明