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

我有销售数据清单,包括销售date和销售types代码。 我试图用COUNTIFS来计算每个月有多less特定types的销售。

举个例子:

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是销售types代码列表,F2是我要计算的代码,C:C是date列表,C1是我要计算的月份的第一个月份(即01/01/2014) 。

这工作正常1月,给我预期的结果。 但是,当我将C1更改为01/02/2014时,它将统计1月 2月,而不仅仅是2月份。

如果有人有任何build议,将不胜感激!

谢谢

您的COUNTIFS公式指定了结束date,但没有开始date,如果要计算特定的月份和年份(基于C1),则需要使用另一个条件来指定使用C1的开始date,即

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

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

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

假设:

  • 它可以使用帮助栏
  • date在列A
  • 销售types代码栏B
  • 结果来自A9:C11

截图:

在这里输入图像说明

添加一个帮助col C从date中提取月份。 在C2中添加此公式并向下拖动:

 =TEXT(A2,"Mmm") 

在B10中添加此公式,然后向下拖动:

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

与下面的代码,你可以检索每个date是在:

 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 

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