威廉在A列中有一个时间列表。他需要一种方法来查找某个时间范围内(例如,上午8:30和上午9:00之间)有多少次时间。他尝试使用COUNTIF和其他一些函数,但无法正确使用公式。

实际上,可以使用几种不同的方法来计算所需范围内的时间,包括使用COUNTIF函数。实际上,可以使用以下两种不同的方法来使用COUNTIF构造公式:

=COUNTIF(A1:A100,">="&TIME(8,30,0))-COUNTIF(A1:A100,">"&TIME(9,0,0))

=COUNTIF(A1:A100,">=08:30")-COUNTIF(A1:A100,">09:00")

两种都可以正常工作;它们仅在指定范围的开始和结束时间方面有所不同。公式的关键是获取大于该范围最早边界的次数,然后从中减去大于该上限的次数。

你也可以使用SUMPRODUCT函数来获得期望的结果,以这种方式:

=SUMPRODUCT(--(A1:A100>=8.5/24) * --(A1:A100<=9/24))

仅当A1:A100范围内的值仅包含时间值时,此方法才有效。如果单元格中还存储有日期,则由于Excel内部存储日期的方式,它可能不起作用。如果范围中确实包含日期,那么您需要修改公式以将其考虑在内:

=SUMPRODUCT(--(ROUND(MOD(A1:A100,1),10)>=8.5/24) * --(ROUND(MOD(A1:A100,1),10)<=9/24))

最后,您可以完全跳过公式,并使用Excel的过滤功能。应用自定义过滤器,您可以指定只希望时间在所需范围内。然后将显示这些内容,您可以轻松计算结果。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12397)适用于Microsoft Excel 97、2000、2002和2003。您可以在以下位置找到用于Excel功能区界面(Excel 2007及更高版本)的本技巧的版本:

链接:/ excelribbon-Counting_Times_within_a_Range [计数范围内的时间]。