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

标签 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 中看到过类似的问题,但没有一个对我有用。

任何帮助表示赞赏。

最佳答案

你可以实现一些 BOOLEAN逻辑并检查 MONTHYEARC:C与查找月份相同,并将其与 B:B 列中的“x”标准相乘:

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))

Note: It's an array formula and needs to be confirmed through CtrlShiftEnter



向右拖动...

关于excel - 根据多个条件计算excel中的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57990597/

相关文章:

regex - 从输入字符串中删除重复的单词。使用 VBA 正则表达式

Excel VBA 从源工作簿复制粘贴到多表工作簿

excel - 在excel中复制一列并将每个条目/单元格加倍。如何?

excel - 在 Excel VBA VLookup 函数中使用索引和匹配

excel - 检查 Excel 单元格是否存在于列中的另一个工作表上 - 并返回不同列的内容

excel - VBA从一个工作簿复制并粘贴到另一个工作簿

.net - 如何在 Excel 中创建基于模板的用户可自定义报告

VBA UDF 返回数组

vba - vba中excel列表中的最大几个变量

vba - 镜像单元: Intentional Circular Referencing