我有一个 Excel 工作表,其中的小时数格式为 hh:mm:ss,我正在寻找一种方法来从此格式中提取天数。例如,假设我有 32:40:00,我想得到 1 天 8 小时 40 分钟。
经过大量搜索,我至今仍未找到任何有用的方法。有人能帮忙吗?
PS:DAY 函数似乎有效,只要天数少于 31,否则它会返回 31 天后的剩余天数。
答案1
DAY()
返回月份中的日期,而不是绝对天数。
由于 Excel 将日期存储为整数部分为天,小数部分为时间,因此您可以使用以下公式:
- 天:
=INT(A3)
- 时间:
=A3-B3
还有一个很好的帮助页面Excel 如何管理日期和时间,核心信息在这里:
Excel 将所有日期存储为整数,将所有时间存储为小数。使用此系统,Excel 可以像任何其他数字一样对日期和时间进行加、减或比较,并且所有日期都使用此系统进行操作。
在这个系统中,序列号 1 表示 1/1/1900 12:00:00 am 时间以 .0 到 .99999 之间的十进制数存储,其中 .0 表示 00:00:00,而 .99999 表示 23:59:59。日期整数和时间小数可以组合起来,以创建具有小数部分和整数部分的数字。例如,数字 32331.06 表示日期和时间 7/7/1988 1:26:24 am
答案2
首先,要注意三件事
- Excel 日期“开始”于 1970 年 1 月 1 日 00:00:00
- 您想要以 Excel 无法理解的格式显示日期
- 您将无法根据结果进行计算
您的“日期”实际上以数字 1.36 存储在单元格中。单元格显示格式为 [h]:mm:ss,显示时间为 32:40:00。
考虑到您的值存储在 A1 中,您可以使用这个公式
=concatenate(int(A1)," days ",text(A1,"HH:MM"))