前两天,在某共享单车公司上班的学生传来一组数据,数据有三万多行,简化为如下:
前两天,在某共享单车公司上班的学生传来一组数据,数据有三万多行,简化为如下:
她的问题是:
以1小时为时间段,怎么得出共享单车各站点的借车与还车高峰时段?即每个站点哪个时间段借车与还车的数量较多?
关键操作第一步:设计各站点与时间段表格
1、利用【数据】——【删除重复项】保留不重复的站点名称;
2、利用【设置单元格格式】——【自定义】——【G/通用格式”时”】来设置6时、7时……等时间段。
过程如下:
这种设置通用格式的方法,只在数字后加上单位“时”,单元格本身还是只有数值,不影响后面的计算。
第二步:公式实现
在B2单元格输入公式:
=SUMPRODUCT((Sheet1!$A$2:$A$18=Sheet2!$E2)*(HOUR(Sheet1!$B$2:$B$18)=Sheet2!F$1))
公式解析:
Sheet1!$A$2:$A$18=Sheet2!$E2:
这部分是将Sheet1中A2:A18的值依次与Sheet2中E2单元格值相比较,结果是一组由TRUE与FALSE组成的数组:
HOUR(Sheet1!$B$2:$B$18)=Sheet2!F$1:
这部分是首先用HOUR函数将Sheet1中B2:B18的时间取小时,再依次与Sheet2中F1单元格的小时相比较,结果也是一组由TRUE与FALSE组成的数组:
最后由SUMPRODUCT对前两个数组对应位置的TRUE或FALSE,即1或0相乘,再加和,即得最终结果,哪个时间段的数值大,即是借车高峰期。
还车高峰期的分析方法相同,不再赘述。
公式中特别注意绝对引用与混合引用的使用。