我有一个包含 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 中看到过类似的问题,但没有一个对我有用。
任何帮助表示赞赏。
最佳答案
你可以实现一些 BOOLEAN
逻辑并检查 MONTH
和 YEAR
在 C:C
与查找月份相同,并将其与 B:B
列中的“x”标准相乘:
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))
Note: It's an array formula and needs to be confirmed through CtrlShiftEnter
向右拖动...
关于excel - 根据多个条件计算excel中的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57990597/