按月计算范围

时间:2015-07-31 13:32:39

标签: excel excel-formula

我在Excel中有3列跟踪有人按日期接听电话的情况。每个人最多被召唤3次,因此3列。我试图统计7月份回答的人数,所以前两列可能是7月之前,或者第一列可能是7月份。我的数据看起来有点像这样。

      A          B          C          D
1  1st Call   2nd Call   3rd Call     July
2  01/06/15   12/06/15   22/06/15     No
3  01/06/15   15/06/15   02/07/15     Yes
4  14/06/15   02/07/15                Yes
5  14/06/15   03/07/15                Yes
6  05/07/15                           Yes

因此无论他们是在1次,2次还是3次尝试后回答,如果3列中的任何一列是在7月,它将返回"是"。

我试过这个公式,

=IF(A2="", "", IF(COUNTIF(A2:C2, month=7)>0, "Yes", "No"))

=IF(A2="", "", IF(COUNTIF(A2:C2, MONTH(A2:C2)=7)>0, "Yes", "No"))

但无济于事。有谁知道如何实现这个目标?

修改

我已经意识到,因为我可以使用以下内容,

=IF(A2="","", IF(MONTH(A2)=7, "Yes", IF(MONTH(B2)=7, "Yes", IF(MONTH(C2)=7, "Yes", "No"))))

但是,如果我的第一次尝试是可以实现的,我仍然很好奇。

2 个答案:

答案 0 :(得分:1)

为什么不使用Or语句? =if(or(month(a2)=7,month(b2)=7,month(c2)=7),"Yes","No")。然后,您可以使用countif来计算您有多少“是”答案。

至于你的第一种方法是否有效,AFAIK不会因为公式中的数组不起作用。另外,使用if countif > 0, then ...有点“过分”,因为你想知道的是,如果它们中的任何一个是七月,你可以使用上面的Or()语句。

答案 1 :(得分:1)

是的,你可以通过一个简单的调整来做你正在尝试的事情,告诉你如何宣布你的“阵列”可能的回应:

=OR(IF(A2="", "", IF(Month(A2:C2))=7, TRUE, FALSE)))

您需要使用CTRL + SHIFT + ENTER确认此项,而不仅仅是ENTER。通过使用公式If(Month(CELL)> 0,TRUE,FALSE)遍历每个单元格,它将直接工作。然后根据结果给出一系列响应。 [类似{TRUE,FALSE,TRUE}]。

请注意,我需要将“yes”和“no”更改为TRUE / FALSE,因为这样我们就可以将整个事物包装在OR语句中。否则,很难从你的“是”和“否”的数组中挑选出来是否是“是”。如果需要,您可以将整个事物包装在IF公式中,将TRUE转换为“是”,如下所示:

=IF(FORMULA ABOVE,"yes","no")