在Excel COUNTIF函数中将expression式添加到范围

简单的问题可能会以使用不同function的方式结束,但不能完全确定将一个expression式添加到比较中的相同命令是什么。

这是我的简单function:

=COUNTIF('Service Calls'!E:E,C3) 

如果find完全匹配,则会返回,但是它将查询可以存储小时和分钟的时间列。 我想要拉的只是整个一小时,所以我可以每小时收集一次服务电话。 我将如何去执行COUNTIF函数,并在比较中为每个单元添加一个修饰符,例如HOUR() ? 我很快就可以用代码来解决这个问题,但是出于某种原因,当涉及到excel的时候,我的大脑一片空白。

我已经尝试过,但显然这将永远不会工作:

 =COUNTIF(HOUR('Service Calls'!E:E),C3) 

任何想法或方向将是伟大的! 谢谢你们,伙计!

尝试,

 =sumproduct(--(hour('Service Calls'!E:E)=C3), sign(len('Service Calls'!E:E))) 

SUMPRODUCT函数不像抛出的错误,所以如果你的某些数据不能从HOUR中剥离出来,就必须添加额外的错误控制。

SUMPRODUCT会计算您告诉它的每个单元格。 它不会像COUNTFS函数一样截断对数据范围的完整列引用。 小心使用SUMPRODUCT的全列参考; 总是将单元格范围减less到数据实际范围的合理近似值。

如果你的数据严格“持有小时和分钟”,那么这可能是更合适(和更有效)。

 =countifs('Service Calls'!E:E, ">="&time(C3, 0, 0), 'Service Calls'!E:E, "<"&time(C3+1, 0, 0)) 

此COUNTIFS解决scheme不适合使用date时间值,但是SUMPRODUCT将剥离包含date和时间的值的小时。