如下数据源

1 2

3 4

要求统计各区分关于时间类的数据,如下图:

5

2至5列数据,如下设置公式并向下拖动:

B列【接收数】:因为时间日期类数据在Excel中是一个数值,因此可以利用Count函数获取包含数值的个数 

  1. =COUNT(陆家嘴!A:A) 

或:为了便于拖动可以使用Indirect,此函数立即对引用进行计算,并显示其内容。故用Indirect函数来引用工作表 

  1. =COUNT(INDIRECT("'"&A2&"'!a:a")) 

C列【大于2.5小时的个数】:此处利用Countif函数统计某个区域求满足条件的单元格个数,对于工作表的引用依然使用Indirect函数

  1. =COUNTIF(INDIRECT("'"&A2&"'!c:c"),">2:30"

D列【2.5小时及时率】:此处数值为百分比,因此使用Text函数来对数据指定格式,此处定义为百分比并保留小数点后两位 

  1. =TEXT(1-C2/B2,"0.00%"

E列【大于24小时个数】:此处同C列,利用Countif函数统计个数

  1. =COUNTIF(INDIRECT("'"&A2&"'!c:c"),">24:00"

F列【24小时及时率】:同D列,利用Text函数指定格式 

  1. =TEXT(1-E2/B2,"0.00%"

G列【平均延迟】:Text函数指定数据格式显示多少小时多少分钟,加“[]”的作用是让超过24小时的数据继续累加。此处Averageif函数统计某个区域满足条件的单元格数据的平均值 

  1. =TEXT(AVERAGEIF(INDIRECT("'"&A2&"'!c:c"),"<>"&""),"[h]:mm"

在【汇总】行中,主要要说明一下G6单元格的整体【平均延迟】,先用sum函数对每个区分的整体延迟时间求和,然后累加再除接收个数 

  1. =TEXT((SUM(INDIRECT("'"&A2&"'!C:C"))+SUM(INDIRECT("'"&A3&"'!C:C"))+SUM(INDIRECT("'"&A4&"'!C:C"))+SUM(INDIRECT("'"&A5&"'!C:C")))/B6,"[h]:mm"

最终得到汇总表

6

参考附件:http://sdrv.ms/Ml6uoq