您的位置首页百科知识

Excel将数值转换成所需的时间形式

Excel将数值转换成所需的时间形式

的有关信息介绍如下:

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列恢复成原来的数值即可。