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
通过一个简单的循环确定月份后,您可以计算每个月的销售数量。