结合部分文本和日期的SUMPRODUCT

时间:2015-06-05 17:42:05

标签: excel excel-formula

在Excel工作表中,我试图检索一个月内有多少个给定名称的条目。

我的月份日期存储在N48中 我的电子表格如下:

B            AE
Test         06/04/15
Testing      06/05/15
Test         06/08/05
Name2        06/04/15
Name2        06/02/15

到目前为止,我已尝试过并且能够获得与我的文字匹配的条目数:=SUMPRODUCT(--(ISNUMBER(SEARCH("*Test*",Assy!$B$4:$B$149))))

我可以获得与我的日期匹配的条目数:=SUMPRODUCT(--(MONTH(Assy!$AE$4:$AE$192)=6),--(YEAR(Assy!$AE$4:$AE$192)=2015))

但是当我尝试将它们合并时,我会收到#VALUE? =SUMPRODUCT(--(ISNUMBER(SEARCH("Test",Assy!$B$4:$B$149))),--(MONTH(Assy!$AE$4:$AE$192)=6),--(YEAR(Assy!$AE$4:$AE$192)=2015))

所以我的公式应该返回3

1 个答案:

答案 0 :(得分:2)

如果 06/08/05 06/08/15 ,那么您可以使用

返回 3
=SUMPRODUCT((LEFT(B$2:B$999,4)="test")*(MONTH(AE$2:AE$999)=6)*(YEAR(AE$2:AE$999)=2015))

对于多功能性,最好将 test 放入一个单元格(例如D2)并用其中一个调用它,

=SUMPRODUCT((LEFT(B$2:B$999, LEN(D2))=D2)*(MONTH(AE$2:AE$999)=6)*(YEAR(AE$2:AE$999)=2015))
=SUMPRODUCT(ISNUMBER(SEARCH(D2, B$2:B$999))*(MONTH(AE$2:AE$999)=6)*(YEAR(AE$2:AE$999)=2015))

FIND function区分大小写;该 SEARCH function不是。

更有效的计算方法是使用COUNTIFS function

=COUNTIFS(B:B, "*"&D2&"*", AE:AE, ">="&DATE(2015, 6, 1), AE:AE, "<"&DATE(2015, 7, 1))

在E2中使用 01-Jun-2015 ,这就变成了,

=COUNTIFS(B:B, "*"&D2&"*", AE:AE, ">="&E2, AE:AE, "<"&EDATE(E2, 1))