excel直接相减计算时间差 数字和时间之间的换算 计算排除周末的工作日天数对含有单位的数据进行计算
发布时间:2023-03-13 04:39:15
讨论怎么用Excel计算出相差的工时数,从而挖掘一些关于时间计算方面的技巧,至少以后遇到类似问题时可以少走弯路。
技巧1:直接相减计算时间差
如果不考虑休息时间的话,要计算工时可以直接用下班时间-上班时间,如果还要在工时后面增加“小时”两个字,就需要用到TEXT函数。公式为=TEXT(C2-B2,"h小时"),操作过程看动画演示。
在这个公式中,用到了表时间的格式代码“h”,表示取小时数。在代码后可以自己添加需要显示的单位。
技巧2:数字和时间之间的换算
如果要在工时中扣除休息时间,只需要在原工时中减去休息时间即可,但公式结果却出现了错误:
这里有一个问题,上班时间和下班时间数字是时间格式,而休息时间数字却是数字格式。在EXCEL中,一个自然数对应一个日期,而0到1之间的小数则对应一个时间。在本例中,休息时间是自然数,可以直接参与日期计算但不能参与时间计算,,它需要进行转换,才能与时间格式的数字进行运算,转换方法是将这个数除以24。所以正确的公式应该是=TEXT(C2-B2-D2/24,"h小时"),结果如图所示:
注意:这里有一个坎,很多对EXCEL时间不了解的人会对C2-B2-D3/24心存疑惑。他们认为D3/24是一个小数,C2-B2=21-9=12,然后12减去一个小数怎么就等于10呢?实际上,EXCEL并非按21-9=12这么来计算时间的。9:00或者21:00只是显示给我们看的时间格式数字,它们对应的真正的时间值是0.375(9/24)、0.875(21/24)。C2-B2-D3/24=0.875-0.375-0.08333=0.41667。最终时间值0.41667再显示为时间格式,就成了0.41667*24=10小时。
如果绕不过弯,那你也可以直接把休息时间的“2”改为“2:00”,则可以直接使用=TEXT(C2-B2-D2,"h小时")计算出工时。
技巧3:计算排除周末的工作日天数
计算与工作日有关的问题时经常会用到NETWORKDAYS.INTL函数,如果要排除的休息日是固定的,在不考虑特殊节假日的情况下,只需要使用三个参数,函数格式为:NETWORKDAYS.INTL(开始日期,结束日期,周末)。996模式的工作天数可以用公式“=NETWORKDAYS.INTL("2018-1-1","2018-12-31",11)”计算出来:
第三参数代码11表示仅星期日休息,在填写第三参数时,其他代码会有提示:
很明显,955模式只需要将第三参数改为“1”即可,表示星期六和星期日都休息。
这里需要说明的是,在公式中直接输入日期时,需要将日期放在引号中。
在本例中省略的函数的第四参数是除了周末的特殊节假日,可以单独输入,也可以直接引用单元格。
公式=NETWORKDAYS.INTL("2018-1-1","2018-12-31",11,{"2018-1-1","2018-5-1","2018-10-1"})会在去掉周末的基础上排除元旦,五一和十一这三天:
也可以通过单元格区域进行排除:
公式为=NETWORKDAYS.INTL("2018-1-1","2018-12-31",11,I2:I4)
技巧4:防止小时发生进位
工作天数有了,每天的工时有了,相乘即可得到全年工作时数,然而公式的结果却出乎预料:
是公式错了吗?
非也!
在公式“=TEXT(F2*(C2-B2-D2/24),"h小时")”中,F2是年度工作天数313天,“C2-B2-D2/24”表示每天工时10小时,10小时在EXCEL中对应的数字是0.4166666667,二者的乘积130.4166666667是一个带小数:
时间代码h只能显示数字小数部分对应的小时数(即0.4166666667对应的10小时),整数部分(130)对应的是日期就无法显示。
这种问题在对时间求和的时候经常会遇到,解决方法也很简单,给时间代码h加上一对中括号即可,正确的公式为:=TEXT(F2*(C2-B2-D2/24),"[h]小时")
技巧5:对含有单位的数据进行计算
平时工作中经常会遇到在数字后面加单位的需求,看起来舒服,但要进行计算时就头疼了。正确的解决方法是使用自定义格式加单位,操作方法如动态演示:
使用自定义格式添加单位,数据格式并没有发生变化,所以不管求和还是其他计算,都很方便。
但有些时候已经填好了单位,再把单位去掉用自定义格式添加单位其实也挺麻烦的。以下通过计算带单位的996和955之间全年的时间差,介绍两个常用的公式。
公式1:通用法则
通用法则需要使用SUMPRODUCT和SUBSTITUTE这两个函数,原理是利用SUBSTITUTE将数据中的单位替换为空,再使用SUMPRODUCT对数组求和或求差,公式为:=SUMPRODUCT(SUBSTITUTE(G2:G3,"小时","")*{1;-1})&"小时"
SUBSTITUTE(G2:G3,"小时","")将单元格G2、G3中的单位“小时”替换为空,结果为{"3130";"2088"},是两个文本型的数字:
将两个文本型数字与常量数组{1;-1}相乘后变成一正一负的两个数{3130;-2088},同时完成了文本数值转为数字的过程:
最后使用SUMPRODUCT完成求和。
公式2:个性法则
个性法则是根据问题的具体特点设计的公式,在本例中,要计算的数据都是单元格的最左边4位,可以使用LEFT函数分别提取出来后进行相减,公式为:=(LEFT(G2,4)-LEFT(G3,4))&"小时"
这个公式相对很简单,也好理解,就本例而言是可行的,但不具有通用性。
excel直接相减计算时间差 数字和时间之间的换算 计算排除周末的工作日天数对含有单位的数据进行计算的下载地址:


猜你喜欢
- 相信好多朋友对Excel的数据透视表的强大功能都赞叹不已。本文讲述使用Excel的数据透视表快速实现对销售员的业绩汇总、业绩占比和业绩排名的
- 在使用电脑的过程中,我们常常会遇到一些问题,其中最常见的就是资源管理器老是停止工作了,不少用户就曾反映这个问题,那么当你遇到Win7资源管理
- 当系统出现一些难以解决的问题时,我们一般会选择重置电脑来解决问题,比起重装电脑来说简单很多,但是也要注意有可能会失败。下面小编就以win10
- 6种两个excel表格核对的方法。一、使用合并计算核对excel中有一个大家不常用的功能:合并计算。利用它可以快速对比出两个表的差异。例:如
- 一般刚装的系统用优化软件整体优化一下后都很快,可是用着用着就变慢了。其实系统需要我们经常优化维护的,比如过一段时间就要对磁盘进行清理和碎片整
- 火炬之光2存档位置在哪?在Win10上玩火炬之光2的小伙伴非常的多,在游戏出现问题的时候就需要进入它的存档进行补救,但是存档位置在哪呢?下面
- 电脑蓝屏代码0x000000BE怎么办?不知道小伙伴们在使用电脑的过程中有没有遇到过电脑蓝屏问题,引起这些电脑蓝屏问题有非常多的原因,所以这
- win10任务栏卡死但桌面正常怎么办?有很多小伙伴买了一台新的电脑,然后在安装win10系统之后,就发现了任务栏突然卡死但桌面是正常的问题,
- 欢迎观看 Microsoft Excel 教程,小编带大家学习 Microsoft Excel 的使用技巧,了解如何在 Excel 中显示或
- kpf4gui.exe是Kerio个人防火墙相关进程进程文件: kpf4gui or kpf4gui.exe 进程名称: Kerio Per
- 我们使用系统的过程中会残留下不少的系统垃圾,这些垃圾如果我们不能做到有效的清除,会一直占据我们的系统空间,那我们要怎么有效的清理C盘垃圾呢,
- 最近有用户在升级到Win10系统之后会遇到碰到这样一个情况,就是无法查看局域网中共享计算机和打印机,没升级之前是可以用的,这是怎么回事呢,针
- 之前我们介绍过,Win10 TH2正式版将于11月更新,根据微软问答论坛一位软件工程师透露:“Cortana将于2015年11月10日‘11
- win10系统怎么更换电脑背景?很多朋友都不是很清楚,其实方法很简单的,下面小编就为大家详细介绍一下,一起来看看吧大家在每天打开电脑以后都是
- 在Windows8开发者预览版中 ,metro菜单背景图片是以PNG格式储存在shsxs.dll这个文件中的,官方并没有告诉我们如何自定义背
- 不少用户更新或是升级windows10系统之后,都会出现需要查找旧文件的需要,但是很多用户在查找时出现了问题,找不到旧文件或是丢失,这该怎么
- 数据分析功能在Excel中是比较常用的功能之一,如果有不懂的朋友却需要用到这个功能的朋友不妨学习一番吧!接下来是小编为大家带来的excel表
- 第1步,在光驱中放入Microsoft Office的安装光盘。第2步,光盘自动运行,当出现“史改 Microsoft Office安装”窗
- 帝国时代3这款游戏不仅经典而且超人气,但是玩家在玩的时候还是遇到了不少的问题,就比如很让人头疼的未正确安装msxml4.0,下面就为大家带来
- 办公软件你都是很熟悉了吗?办公软件包括wps和office的两个版本。那你所使用的办公软件版本是office还是wps版本。今天学无忧给大家