使用具有多个条件的Excel Countifs()

时间:2014-04-03 07:14:35

标签: excel excel-vba vba

我尝试使用countifs()函数,但是,我一直返回值0.这是数据集:

   |   A  |    B  |      C     |
   | item1| 3/3/14| 12:00:15 AM|
   | item2| 3/3/14| 12:00:39 AM|
   | item4| 3/3/14| 12:05:19 AM|
   | item1| 3/3/14| 12:05:19 AM|

我尝试了以下countifs()来计算符合此条件的所有项目:

=countifs(A:A,"item1",B:B,"3/3/14",C:C,"12:*")

所以我希望这个功能能够抓住" item1" B列中的A列,3/3/14,以及以" 12开头的任何内容:"。所以这应该返回值2,但事实并非如此。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

要解释我的评论,请参阅以下内容:

Sample Data

如您所见,我在C7:C8D7:D8分别有不同格式的时间值。
为了得到你想要的东西,它基本上计算所有小于01:00:00 AM的条目 因此,要使您的公式起作用,请改用此公式:
=COUNTIFS(A$2:A$5,"Item1",B$2:B$5,"3/3/2014",C$2:C$5,"<" & 0.041667)

编辑1:如评论所述,您也可以使用参考单元格。在上面,它是C8或D8。

=COUNTIFS(A$2:A$5,"Item1",B$2:B$5,"3/3/2014",C$2:C$5,"<" & $C$8)

编辑2:如评论所示,您想要的是什么但不能使用CountIfs

sumproduct

上面我们用过这个:
=SUMPRODUCT(1*(A2:A9="Item1"),1*(B2:B9=DATEVALUE("3/3/2014")),1*(C2:C9>TIMEVALUE("2:00:00 PM")),1*(C2:C9<TIMEVALUE("3:00:00 PM")))

我们使用SUMPRODUCT功能 更复杂的公式,可满足您更复杂的要求。 :)