Excel 按值对日期范围内的非重复值进行计数

  • 本文关键字:日期 范围内 Excel 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

C 公司 = 2 个代表 3 月,1 个代表 2 月。

我得出的最好的是

=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 一起使用

首先,限制公式内的范围引用,否则公式将不得不计算每个 IF 块和 Row(( 函数内的整列。

试试这些数组公式,这些公式通过Ctrl + Shift + Enter确认。

三月:

甲公司:

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

二月:

甲公司:

=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/三月标准

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

最新更新