如何使用地址公式作为 COUNTIF 范围的限制

如何使用地址公式作为 COUNTIF 范围的限制

例如

=COUNTIF(M13:O24,"S3")

我希望 M13 改为值 $W$13,该值位于以下单元格中:

=ADDRESS(1+12,11+MATCH(AG12, Plan!$L$12:$Z$12, 0),1,) 

我希望 O24 改为值 $W$51,该值位于以下单元格中:

=ADDRESS(AG18,11+MATCH(AG12, Plan!$L$12:$Z$12, 0),1,)

我尝试像这样替换 COUNTIF 范围两侧的两个地址公式

=COUNTIF(ADDRESS(1+12,11+MATCH(AG12, Plan!$L$12:$Z$12, 0),1,):ADDRESS(AG18,11+MATCH(AG12, Plan!$L$12:$Z$12, 0),1,),"S3")

但它只是返回一个错误。

仅供参考。目标是根据一天中的时间扩大范围。$W$13 和 $W$51 是从一天开始到当前时间的时间值列的顶部和底部单元格。countif 用于查找在一天中的当前时间之前应完成名为“S3”的某项活动的小时数。

答案1

你可能想多了。如果日期/时间值在 X 列,你可以像这样使用 Countifs

=Countifs(W:W,"S3",X:X,">"&today())

这将仅计算当天的 S3 发生次数。

如果您想使用地址方法,则需要将其包装到 INDIRECT 中,这样它就会返回实际范围,而不仅仅是文本。

=COUNTIF(Indirect(
           ADDRESS(1+12,11+MATCH(AG12, Plan!$L$12:$Z$12, 0),1,)
              &":"& 
           ADDRESS(AG18,11+MATCH(AG12, Plan!$L$12:$Z$12, 0),1,)
         )
 ,"S3")

我添加了一些缩进以提高可读性。

相关内容