从工作表中获取唯一值FIRST,然后根据条件

时间:2017-08-24 18:42:34

标签: excel excel-formula

我想看看你们是否知道一个公式复制删除重复项/只计算列表中的唯一值,然后根据多个条件计算唯一值。

我已经尝试过公式:

{=SUM(--(FREQUENCY(IF(criteria,MATCH(values,values,0)),ROW(values)-ROW(values.firstcell)+1)>0))}

但它没有得到我想要的东西。

例如,假设我有这张表:

DATE    STATUS  ACCOUNT #
3-Dec-15    ONGOING 1391937
25-May-17   ON HOLD 1391937
13-May-17   ON HOLD 1391937
14-Sep-17   ONGOING 2490936
25-May-16   ONGOING 1285792
26-Jul-16   ON HOLD 1285792
21-May-17   ON HOLD 1285792
23-Feb-17   ON HOLD 1512450
26-May-17   ONGOING 2604610
23-Sep-17   ON HOLD 1122902

我希望在日期在2017年之内获得唯一帐号的数量,状态为“暂停”。如果我使用这个公式

{=SUM(--(FREQUENCY(IF((B2:B11 = "ON HOLD")*(A2:A11 >= DATE(2017,1,1)),MATCH(C2:C11,C2:C11,0)),ROW(C2:C11)-ROW(C2)+1)>0))}

我会得到'4',这就像首先筛选两个标准然后计算唯一值。

但我真正需要的是'2',就好像你先删除了ACCOUNT#duplicatelicates然后过滤了其他两个标准。

这是可能的吗?也许我只是错过了什么,但希望你们能帮助我。

提前致谢!

编辑:2017年内账户应保留的账号为1512450和1122902,并且保持不变。

1 个答案:

答案 0 :(得分:0)

多细胞数组公式可以为您提供所需的结果。使用"日期","状态"和#34;帐号#"假设分别在单元格A1,B1和C1中,选择单元格范围D2:D100并输入= RIGHT(TRIM(A $ 2:A $ 100),2)=" 17"在公式栏中使用组合Ctrl + Shift + Enter。在选定范围内E2:E100输入=(TRIM(B $ 2:B $ 100)=" ON HOLD")在公式中使用Ctrl + Shift + Enter bar.In F2:F100 enter = IF(COUNTIF(C $ 2:C $ 100,C $ 2:C $ 100)= 1,C $ 2:C $ 100,"")并且在G2中输入= IF(D2 * E2 = 0,"",F2),按Enter键并向下复制。列G保存结果。

要获得符合条件的唯一帐户的计数,请使用Ctrl + Shift + Enter将此数组公式放入G1:= COUNT((G2:G100)* 1)。公式中的单元格区域纯粹是任意的。实际选择的范围应与数据范围匹配。