根据多个条件计算excel中的唯一值

时间:2019-09-18 10:26:15

标签: excel excel-formula

我有一个包含3列的电子表格,想要一个公式根据B和C的3个条件来计算A列中的唯一值。

下面是数据和所需输出的示例。 E2:H2是公式应该去的地方。数据在C列中包含空白值。B列是vlookup的结果。

   A        B        C        D        E        F        G        H
1  Email    List     Date              1/1/19   1/2/19   1/3/19   1/4/19
2  1@1.com  X        1/1/19            2        1        1        0
3  2@2.com  Y        6/3/19
4  3@3.com  Z        2/2/18
5  1@1.com  X        9/1/19
6  4@4.com  X        5/2/19
7  1@1.com  X        
8  5@5.com  X        4/1/19
9  4@4.com  X        3/2/19
10 5@5.com  X        4/3/19

我想在A列中找到唯一值的数量,其中B列== X,C列在特定月份内(由E1:H1提供)。

如果可能的话,我想避免在每个日期范围内使用多个数据透视表。

我尝试了两个无效的公式。

{=SUM(IF((B2:B10="X")*(C2:C10>=E$1)*(C2:C10<F$1), 1 / COUNTIFS(B2:B10, "X", C2:C10, ">="&E$1, C2:C10, "<"&F$1, A2:A10, A3:A10)), 0)}
=SUMPRODUCT(((B2:B10="X")*(C2:C10>=E$1)*(C2:C10<F$1)) / (COUNTIFS(A:A, A2:A10, B2:B10, "X", C2:C10, ">="&E$1, C2:C10, "<"&F$1)))

我在Stack Overflow中看到了类似的问题,但没有一个对我有用。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:3)

您可以实施一些BOOLEAN逻辑,并检查MONTH中的YEARC:C是否与查找月份相同,然后将其与您的“ x”标准相乘列B:B

enter image description here

E2中的公式:

=SUM(--(FREQUENCY(IF((MONTH($C$2:$C$10)=MONTH(E1))*(YEAR($C$2:$C$10)=YEAR(E1))*($B$2:$B$10="X"),MATCH($A$2:$A$10,$A$2:$A$10,0)),ROW($A$2:$A$10)-ROW($A$2)+1)>0))
  

注意: 这是一个数组公式,需要通过 Ctrl Shift 输入

向右拖动...