Excel将数值转换成所需的时间形式
的有关信息介绍如下:如下表所示,要将A列单元格里边的天数转换成所需的时间形式(x天x小时x分钟,x为零则忽略,如:“1天0小时3分钟”就写成“1天3分钟”),公式该什么写?
解题思路:
(1)最先想到的是将单元格设置成所需的格式(如:d天h小时m分钟),如果含有0就达不到所需的时间形式。
(2)通过TEXT函数将数值转换成“d天h小时m分钟”的形式,再通过截取、拼接的方式组合成所需的形式,但比较麻烦。
(3)既然一天里面有24小时,一小时里面有60分钟,那就可以通过取余的形式把“天”、“小时”、“分钟”的数值提取出来再拼接。
在B2单元格里边输入函数公式=IF(INT(A2)>=1,INT(A2)&"天","")&IF(MOD(A2*24,24)>=1,INT(MOD(A2*24,24))&"小时","")&IF(MOD(A2*1440,60)>=1,INT(MOD(A2*1440,60))&"分钟","")
将B2单元格向下复制填充,将会看到计算出来的结果。
函数公式释义:
(1)函数的整体部分,就是通过取余的形式把“天”、“小时”、“分钟”的数值提取出来再拼接。
(2)天数部分:数值大于等于1的整数,INT是取整函数。
(3)小时部分:1天里边有24小时,取1天(24小时)的余数便是小时数,之后再取整。
(4)分钟部分:1小时里边含有60分钟,1天里边含有1440分钟,取1小时(60分钟)的余数便是分钟数,之后再取整。
选择A列,单击右键,选择“设置单元格格式”。
点击【自定义】,在类型里边输入d"天"h"小时"m"分钟",再点击【确定】。
对比A列、B列,计算显示结果是一样的(只是B列里边的0值已经被忽略),后面再将A列恢复成原来的数值即可。