信息整理

清理 Excel 日期并计算时间间隔

先规范混合日期输入,再计算自然时间或工作时间

6 分钟准备已测试:ChatGPT复核日期: 2026-08-28
1

补充你的背景

你填写的内容只保留在当前浏览器中,AILesson 提示语不会将其发送给模型或服务器。

2

生成的提示语

未填写的字段会保留为占位符,你仍然可以复制后自行编辑

请设计一种安全的 Excel 方法,用于规范日期并计算时间间隔。

已观察到的输入:
[inputs]

工作表结构与期望结果:
[layout]

间隔规则:
[rules]

先区分实际 Excel 日期序列和文本,并识别依赖地区格式的歧义值。不要猜测 03/04 表示 3 月 4 日还是 4 月 3 日。在计算间隔前,先用辅助列完成规范化和验证。请返回公式、单元格格式、无效值标记,以及空白、时间戳、日期倒置、闰日和边界包含规则的测试。明确结果表示经过时间、自然日还是工作日。
默认保护隐私提示语在浏览器本地组装。除非所在组织明确允许,否则不要把机密信息提交给任何 AI 服务。

从输入到成果

实际案例

看看具体背景如何通过这条配方转化为可使用的成果

实际输入

已观察到的日期值
B 列包含实际 Excel 日期或 2026-02-27 形式的 ISO 文本;C 列包含实际日期、ISO 文本或代表未完成的空白。有些值可能是 03/04/2026,必须标记为有歧义。部分单元格含时间。
列与期望结果
B:开始时间;C:完成时间;D:规范开始日期;E:规范完成日期;F:自然日数。数据从第 2 行开始。
间隔规则
本固定报告对未完成项使用 2026 年 3 月 1 日。计算经过的自然日,因此当天完成为 0。时间戳只用于识别后取整。日期倒置时显示“待检查”。

示例输出

使用辅助列,让转换问题保持可见。

D2 规范开始日期: =IF(B2="","",IF(ISNUMBER(B2),INT(B2),IF(AND(LEN(B2)=10,MID(B2,5,1)="-",MID(B2,8,1)="-"),DATE(LEFT(B2,4),MID(B2,6,2),RIGHT(B2,2)),"待检查")))

E2 规范完成日期: 对 C2 使用相同转换,但 C2 为空时返回 DATE(2026,3,1)

F2 经过自然日: =IF(OR(D2="待检查",E2="待检查",D2=""),"待检查",IF(E2<D2,"待检查",E2-D2))。D:E 设置为 yyyy-mm-dd 等无歧义日期格式,F 设置为数字。

公式接受日期序列和严格格式的 ISO 文本,故意把 03/04/2026 标记为歧义。INT 会去除日期序列中的时间。测试:当天 → 0;2026-02-27 到 2026-03-01 → 2;完成日期空白时使用 3 月 1 日;2024-02-29 正确解析;完成早于开始 → 待检查。还需验证导入 ISO 字符串中的无效月份或日期,因为 DATE 可能把无效部分自动进位。

为什么有效

  1. 1

    先规范化可以把数据转换失败与间隔计算逻辑分开。

  2. 2

    拒绝猜测有歧义的地区日期格式可以防止看似合理但实际错误的日期。

检查结果

  • 有歧义的文本日期是否被标记而不是猜测?

  • 当天和结束日期的包含规则是否明确?

  • 负数间隔是否作为数据错误保持可见?

更多探索方式

这条配方出现在哪里

继续完成任务