Excel会按值

时间:2017-04-15 07:25:40

标签: excel

Description | Invoice No | Invoice Date
Company A | INV 1 | 3/1/2017
Company A | INV 2 | 3/1/2017
Company A | INV 3 | 3/1/2017
Company B | INV A | 3/1/2017
Company B | INV A | 3/1/2017
Company B | INV B | 3/1/2017
Company C | INV A | 2/1/2017
Company C | INV B | 3/1/2017
Company C | INV C | 3/1/2017

我需要根据表格计算特定公司每月发票数量的独特数量。

公司A = 3

公司B = 2

3月份公司C = 2,2月份为1

我出来的最好的是

=SUM(IF(FREQUENCY(IF(C:C>="3/1/2017",IF(Dates<"4/1/2017",IF(A:A="Company A",IF(B:B<>"",MATCH(B:B,B:B,0)))),ROW(B:B)-MIN(ROW(B:B))+1),1),0))

与CTRL + SHIFT + ENTER一起使用

1 个答案:

答案 0 :(得分:1)

首先,在公式中限制范围参考,否则公式必须计算每个IF块和Row()函数内的整列。

尝试使用 Ctrl + Shift + Enter 确认的数组公式

三月:

公司A:

=SUM(--(FREQUENCY(IF(A2:A10="Company A",IF(MONTH(C2:C10)=3,MATCH(B2:B10,B2:B10,0))),ROW(B2:B10)-ROW(B2)+1)>0))

B公司:

=SUM(--(FREQUENCY(IF(A2:A10="Company B",IF(MONTH(C2:C10)=3,MATCH(B2:B10,B2:B10,0))),ROW(B2:B10)-ROW(B2)+1)>0))

C公司:

=SUM(--(FREQUENCY(IF(A2:A10="Company C",IF(MONTH(C2:C10)=3,MATCH(B2:B10,B2:B10,0))),ROW(B2:B10)-ROW(B2)+1)>0))

二月:

公司A:

=SUM(--(FREQUENCY(IF(A2:A10="Company A",IF(MONTH(C2:C10)=2,MATCH(B2:B10,B2:B10,0))),ROW(B2:B10)-ROW(B2)+1)>0))

B公司:

=SUM(--(FREQUENCY(IF(A2:A10="Company B",IF(MONTH(C2:C10)=2,MATCH(B2:B10,B2:B10,0))),ROW(B2:B10)-ROW(B2)+1)>0))

C公司:

=SUM(--(FREQUENCY(IF(A2:A10="Company C",IF(MONTH(C2:C10)=2,MATCH(B2:B10,B2:B10,0))),ROW(B2:B10)-ROW(B2)+1)>0))

此外,不是对公司和月份标准进行硬编码,而是在工作表上有两个标准单元格,并在公式中引用它们,这样,如果更改条件单元格中的条件,公式将自动更新。

对于月份标准,您可以检查上面的公式中使用的月份名称而不是月份编号,如此...

对于公司A / 3月标准

=SUM(--(FREQUENCY(IF(A2:A10="Company A",IF(TEXT(C2:C10,"mmm")="Mar",MATCH(B2:B10,B2:B10,0))),ROW(B2:B10)-ROW(B2)+1)>0))