如果行的date是一月份,则行和单元格中包含特定的文本

我有这个function – 它运作良好。 它需要一整列的date和检查,如果他们中的任何一个在一月份; 然后查看另一列,并添加符合date规范的条目并添加它们。

=SUM(IF(MONTH(A:A)=2;B:B;0)) 

(按CTRL + SHIFT + ENTER使其成为一个数组函数)

不过,如果其他列包含特定的文本,我只希望它总和。 我认为这将工作:

 =SUM(IF(AND(MONTH(A:A)=2;C:C ="text");B:B;0)) 

(再次按下CTRL + SHIFT + ENTER)

这似乎每次都返回0。 有没有人知道我在这种情况下做错了什么?

摆脱数组公式并使用SUMIFS函数 。

 =SUMIFS(A:A; ">="&date(2016; 1; 1); A:A; "<"&date(2016; 2; 1); C:C; "text"; B:B) 

SUMIFS比数组公式1更有效率。 如果您需要将数组公式用于其他目的,则丢弃AND函数并使用嵌套的IF。

 =SUM(IF(MONTH(A:A)=2; If(C:C ="text"; B:B))) 

¹ 数组公式需要使用Ctrl + Shift + Enter 来完成。 如果input正确,Excel将花括号包括在公式中(例如{} )。 你不要自己input大括号。 一旦正确input第一个单元格,就可以像其他任何公式一样向下或向右填充或复制它们。 尝试和减less您的全列引用范围更接近代表实际数据的范围。 数组公式将计算周期对数化,所以最好将参考范围缩小到最小。 有关更多信息,请参阅数组公式的示例 。