威廉在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")

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

您可以改为使用COUNTIFS函数来缩短公式:

=COUNTIFS(A1:A100,">=8:30",A1:A100,"<=9: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培训的来源。

本技巧(12398)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

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