Excel Countif使用月份和字母作为标准

时间:2014-02-19 11:23:44

标签: excel date countif

我有一份销售数据清单,其中包括销售日期和销售类型代码。我正在尝试使用COUNTIFS来计算每个月中特定类型的销售量。

例如:

Date.                  Sales Type Code
10/01/2014.                 S
12/01/2014.                 S
15/01/2014.                 O
18/01/2014.                 S
02/02/2014.                 O
08/02/2014.                 S

会给我以下结果:

Code S

January -       3    
February -      1

Code O

January -       1
February -      1

我有公式

COUNTIFS('SALES LEDGER'!A:A,F2,'SALES LEDGER'!C:C,"<"&EOMONTH('MONTH Sales by Sales Type'!$C$1,0)+1)

其中A:A是销售类型代码列表,F2是我想要计算的代码,C:C是日期列表,C1是我想要计算的月份中的第一个(即01/01) / 2014)。

这适用于1月,给我预期的结果。但是,当我将C1更改为2014年2月1日时,它将1月份一起计算在一起,而不仅仅是2月份。

如果有人有任何建议,我们将不胜感激!

由于

4 个答案:

答案 0 :(得分:2)

您的COUNTIFS公式指定结束日期但没有开始日期,如果您想计算特定月份和年份(基于C1),您需要另一个标准来指定使用C1的开始日期,即

=COUNTIFS('SALES LEDGER'!A:A,F2,'SALES LEDGER'!C:C,"<"&EOMONTH('MONTH Sales by Sales Type'!$C$1,0)+1,'SALES LEDGER'!C:C,">="&'MONTH Sales by Sales Type'!$C$1)

答案 1 :(得分:1)

你可以使用这个(如果你的日期范围不包含空单元格):

=SUMPRODUCT((MONTH(A2:A100)=1)*(B2:B100="S"))

或(如果您的范围可能包含空单元格)

=SUMPRODUCT((TEXT(A2:A100,"mmm")="Jan")*(B2:B100="S"))

如果您还需要添加年份条件,只需在任何公式中添加*(YEAR(A2:A100)=2014)

=SUMPRODUCT((TEXT(A2:A100,"mmm")="Jan")*(YEAR(A2:A100)=2014)*(B2:B100="S"))

答案 2 :(得分:0)

使用下面的代码,您可以检索每个日期所在的月份:

dim objDate as Date
dim i as integer
dim intMonth as integer

for i = 2 to 'number of row
    objDate = CDate(cells(i, 1))
    intMonth = Month(objDate)
next i

通过一个简单的循环计算月份后,您可以计算每个月的销售数量。

答案 3 :(得分:0)

假设:

  • 可以使用辅助列
  • col A的日期
  • col B中的销售类型代码
  • 结果来自A9:C11

<强>截图:

enter image description here

添加帮助器col C以从日期提取月份。在C2中添加此公式并向下拖动:

=TEXT(A2,"Mmm")

在B10中添加此公式并向下拖动:

=COUNTIFS($B$1:$B$7,B$9,$C$1:$C$7,$A10)