我的数据由月份 A 列(1 至 12)和跨年份的数值 B 列(财务回报)组成。如何统计下半年出现正回报的月份数?
假设第三列 C 中的值是 1 到 12
这样的公式似乎不起作用:
=COUNTIFS($B$2:$B$999,“>0”,$A$2:$A$999,“>=C6”)
C6 等于数字 6。我似乎无法使用单元格引用将布尔/不等式值传递到 ifs 条件中。我该如何解决这个问题?我尝试删除引号并使用 &,但仍然没有成功。
B 列 = 回报,A 列 = 月份(1-12),C 列 = 1 到 12(显示计数表)。
感谢您的帮助!非常感谢!
答案1
首先让我解释一下为什么使用公式会出现错误,
=COUNTIFS($B$2:$B$999, ">0", $A$2:$A$999, ">=C6")
原因,命令语法第二部分错误。
$A$2:$A$999, ">=C6")
应该这样写
$A$2:$A$999, ">="&C6)
,正如上面的一些读者通过评论所指出的那样。
现在让我向您展示正确的使用公式。
如果你使用这个:
=COUNTIFS($H$27:$H$35, ">0", $G$27:$G$35, ">="&J26)
甚至,,
=COUNTIFS($H$27:$H$35, ">"&0, $G$27:$G$35, ">"&J26)
您得到5
(单元格I27
),因为公式未能考虑范围内的数据H27:H35
,所以是>0
(或正值)。
注意:甚至任何数组公式(CSE)都无法做到这一点,也包括这个 ">"&0
。
现在,检查单元格中的公式J27
,得到正确的计数。
=SUMPRODUCT(1*(MONTH(G27:G35)>J$26)*(H27:H35>0))
您可以根据需要调整公式中的单元格引用。