您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

Excel教程,别找了,这些Excel函数公式省时又快捷,赶快拿走吧

2019/7/30 13:28:24发布130次查看
嗨,我是爱踢汪。
很多人都知道excel函数公式威力强大,
但遇到问题时却写不出公式,
想找也找不到。
本系列将给大家带来15个
很多人都在找的excel公式,
已备大家不时之需。
今天是系列教程的上篇。
01、日期和时间数据的合并
下图为某单位员工刷卡考勤的部分记录,需要根据b列的刷卡日期和c列的刷卡时间,得到日期和时间合并后的数据。
在d2单元格中输入以下公式,并向下复制到d10单元格,即可得到日期和时间合并后的数据。
=b2+c2
02、计算故障处理时长
下图为某运营商宽带故障报修记录表的一部分,需要根据c列的接单时间和e列的处理时间,计算故障处理时长。
在f2单元格中输入以下公式,并向下复制到f6单元格。
=int((e2-c2)*1440)
一天有1440分钟,要计算两个时间间隔的分钟数,只要用终止时间减去开始时间,再乘上1440即可。最后用int函数舍去计算结果中不足一分钟的部分,计算出时长的分钟数。
如果需要计算两个时间间隔的秒数,可使用以下公式。
=(e2-c2)*86400
一天有86400秒,所以计算秒数时使用结束时间减去开始时间,再乘上86400。除此之外,使用text函数能够以文本格式的数字返回两个时间的间隔。
以下公式返回取整的间隔小时数。
=text(e2-c2,[h])
以下公式返回取整的间隔分钟数。
=text(e2-c2,[m])
以下公式返回取整的间隔秒数。
=text(e2-c2,[s])
03、计算员工在岗时长
下图所示为某企业员工加班考勤的部分记录,需要根据c列的上班打卡时间和d列的下班打卡时间,计算员工的加班工作时长。
如果在e2单元格中使用公式“=d2-c2”计算时间差,由于部分员工的离岗时间为次日凌晨,仅从时间来判断,离岗时间小于到岗时间,两者相减得出负数,计算结果会出现错误。通常情况下,员工在岗的时长不会超过24小时。如果下班打卡时间大于上班打卡时间,说明两个时间是在同一天,否则说明下班时间为次日。
在e2单元格中输入以下公式,并向下复制到e10单元格。
=if(d2>c2,d2-c2,d2+1-c2)
if函数判断d2单元格的下班打卡时间是否大于c2单元格的上班打卡时间,如果条件成立,则使用下班时间直接减去上班时间。否则用下班时间加1后得到次日的时间,再减去上班时间。
公式也可以简化为:
=if(d2>c2,d2,d2+1)-c2
还可以借助mod函数进行求余计算。
=mod(d2-c2,1)
用d2单元格的下班时间减去c2单元格的上班时间后,再用mod函数计算该结果除以1的余数,返回的结果就是忽略天数的时间差。
04、计算员工技能考核平均用时
下图所示为某企业员工技能考核表的部分数据,b列是以文本形式记录的员工操作用时,需要计算员工的平均操作时长。
将d2单元格格式设置为“时间”,然后输入以下数组公式,按组合键,计算结果为“0:01:12”。
=sum(--text({0时,0时0分}&b2:b10,h:m:s;;;!0))/9
由于b列的时间记录是文本内容,因此,excel无法直接识别和计算。
使用字符串“{0时,0时0分}”与b2:b10单元格的内容连接,变成9行两列的内存数组“{0时1分18秒,0时0分1分18秒;0时59秒,0时0分59秒;…;0时1分27秒,0时0分1分27秒}”。
excel 将“0时0分0秒”样式的文本字符串识别为时间,将“0时0秒”“0时0分”“0分0秒”等样式的字符串仍然识别为文本。
text函数的第二参数使用“h:m:s;;;!0”,将时间样式的字符串转换为“h:m:s”样式,非时间样式的文本字符串强制显示为0。计算结果如下。
{0:1:18,0;0,0:0:59;…;0:1:27,0}
text函数计算出的结果仍然为文本,加上两个负号,即负数的负数为正数,通过减负运算将文本结果转换为时间序列值。
最后将sum函数的求和结果除以总人数9,得到考核平均用时。
05、从混合内容中提取时间和日期数据
从考勤机中导出的刷卡记录往往同时包含日期和时间,如下图所示,需要在c列和d列分别提取出b列刷卡记录中的日期和时间。
由于时间和日期数据的实质都是序列值,因此,既包含日期又包含时间的数据可以看作是带小数的数值。其中,整数部分为代表日期的序列值,小数部分为代表时间的序列值。
在c2单元格中使用以下公式提取日期数据。
=int(b2)
=trunc(b2)
使用int函数或trunc函数提取a列数值的整数部分,结果即为代表日期的序列值。
在d2单元格中可使用以下公式提取时间数据。
=b2-int(b2)
=mod(b2,1)
使用mod函数计算a2单元格与1相除的余数,得到a2数值的小数部分,结果即为代表时间的序列值。如果结果显示为小数,可将单元格格式设置为“时间”格式。 除此之外,也可以使用text函数完成日期时间的提取,以下公式可以提取出b列中的日期。
=--text(b2,e-m-d)
格式代码使用“e-m-d”,即“年-月-日”。
以下公式可以提取出b列中的时间。
=--text(b2,h:m:s)
格式代码使用“h:m:s”,即“时:分:秒”。
06、将英文月份转换为月份数值
如下图所示,a列为英文的月份名称,需要在b列转换为对应的月份数值。
在b2单元格中输入以下公式,并向下复制到b10单元格。
=month(a2&1)
使用连接符“&”将a2单元格与数值“1”连接,得到新字符串“apr1”,成为系统可识别的文本型日期样式,再使用month函数提取出日期字符串中的月份。
year、month和day函数均支持数组计算,在按时间段的统计汇总中被广泛应用。
07、汇总指定时间段的销售额
下图为某单位2017年销售记录表的部分内容,a列是业务发生日期,d列是业务金额,需要计算上半年的业务总额。
可以使用以下公式完成汇总。
=sumproduct((month(a2:a13)<7)*d2:d13)
month函数返回a2:a13单元格中日期数据的月份值,结果为:
{1;3;6;2;6;3;4;6;7;8;6;11}
因为要计算1~6月份的业务总额,所以要判断月份值是否小于7。
用“month(a2:a13)<7”计算出的一组逻辑值与d2:d13单元格区域的数值相乘,最后用sumproduct函数返回乘积之和。
今天给大家介绍了7个平常会用到却不怎么好找的公式,希望对大家有所帮助!我是爱踢汪,您的关注是我坚持到现在的唯一动力,有了您的支持与鼓励,我才有信心一直坚持下去,继续奉上更多内容。衷心期待您能点一下上面红色关注按钮,关注我一下。万分感谢!

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录