前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >看我的加班电话数就知道我有多忙了——根据时间段统计

看我的加班电话数就知道我有多忙了——根据时间段统计

作者头像
fanjy
发布2021-10-15 12:23:42
7970
发布2021-10-15 12:23:42
举报
文章被收录于专栏:完美Excel完美Excel完美Excel

有时候,我们需要从网站上或者服务器上下载数据,然后根据条件进行统计,特别是统计特定的时间。本文来源于chandoo.org,要求根据工作时间段统计工作时间外所接电话数。

示例数据如下图1所示。有两个表,一个是通话记录,记录了每次通话开始的时间;一个是办公时间,告诉每周七天的工作时段。

图1

现在想知道,在工作时段外共接了多少个电话?

我们先使用辅助列来解答。

在单元格C7中输入下面的公式:

=MEDIAN(INDEX(I7:I13,WEEKDAY(B7,2))+0,INDEX(J7:J13,WEEKDAY(B7,2))+0,MOD(B7,1))<>MOD(

将公式下拉至数据列末尾。

公式取了3个值,即该行所在日的工作开始时间、结束时间和通话时间,然后取其位于中间的值,再与通话时间比较,如果不相等,说明该通话时间处于工作时间之外,公式返回TRUE。

然后,统计TRUE值的个数,即在工作时间之处的电话数:

=COUNTIF(C7:C1172,"TRUE")

返回:693。

如果不使用辅助列,可以使用公式:

=SUMPRODUCT(1-COUNTIFS(H7:H13,TEXT(B7:B1172,"DDDD"),I7:I13,"<="&MOD(B7:B1172,1),J7:J13,">="&MOD(B7:B1172,1)))

如果使用表内部标记,假设电话记录表名为:calls.ans,办公时间表名为:working.hours.ans,那么可使用公式:

=SUMPRODUCT(1-COUNTIFS(working.hours.ans[日],TEXT(calls.ans[通话时间],"DDDD"),working.hours.ans[开始时间],"<="&MOD(calls.ans[通话时间],1), working.hours.ans[结束时间],">="&MOD(calls.ans[通话时间],1)))

示例工作簿可以在chandoo.org上下载,或者在完美Excel社群知识星球App中下载。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档