ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > 函数与公式 > 【公式解析系列】之转换带小数数值为规范时间

【公式解析系列】之转换带小数数值为规范时间

作者:绿色风 分类: 时间:2022-08-17 浏览:131
楼主
gouweicao78
原帖:http://www.officefans.net/cdb/viewthread.php?tid=85476&page=1&extra=page%3D1
附件:
转换带小数数值为规范时间.rar

【问题】
A1:A18是一些设置了2位小数格式的数值,比如3.21、3.00等分别表示3分21秒、3分0秒。现欲求平均时间。
注意:整数部分不得超过2位数
【我的解答】

【解法一】数学计算法
  1. =SUM(INT(A1:A18)+MOD(A1:A18,1)*100/60)/COUNT(A1:A18)/60/24
解析:1、取得小数部分*100/60,换算成与整数相同进制(单位为:分钟)
2、最后再除以60得到小时再除以24得到天数——真正的时间序列值 ——58 个字符
3、将*100改为/1%,结合*100/60就是/60%,简化如下:
  1. =SUM(INT(A1:A18)+MOD(A1:A18,1)/60%)/COUNT(A1:A18)/1440 ——54个字符
【解法二】文本处理法
  1. =AVERAGE(--("0:"&SUBSTITUTE(TEXT(A1:A18,"#.00"),".",":")))
解析:1、 利用Text将A列数据统一为0.00的格式(注意A2是3,而不是3.00) ;
2、  利用Substitute将小数点替换为冒号,并在前面加0:变成时间,最后--转换为数值后求平均值 ——58个字符
  1. =AVERAGE(--SUBSTITUTE(TEXT(A1:A18,"0!:00.!:00"),".",))
解析:利用Text将"0:"也做到格式中,注意感叹号为强制显示下一字符的用法,也可用\——54个字符

节衣缩食,勒紧裤带,省略15个字符:
  1. =AVERAGE(--TEXT(A1:A18/1%,"0!:00!:00"))
解析:利用/1%(即*100)将数据放大100倍,小数点终于退休了,也就不用Substitute替换了,大大缩短了公式——39个字符
  1. =AVERAGE(--TEXT(A1:A18/1%,"0!:00"))/60
解析: 利用时间进制,先求得小时数,再/60,又省了1个字符——38个字符
  1. =AVERAGE(TEXT(A1:A18/1%,"0!:00")/60)
解析:利用四则运算可以转化文本型数字为数值型的特性,两颗洁白的门牙--号也光荣下岗了——36个字符

2楼
xpm130
太有用了,谢谢!!!
3楼
caijiuhua
太有用了,谢谢!
4楼
casic
谢谢楼主分享!
5楼
wangqilong1980
收藏慢慢学习。越学习,越发现自已的无知!
6楼
swyrlbq
非常实用的东西,楼主伟大。
7楼
健康快乐123
暂时用不上,先学习了

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap