在 Excel 里算天数,实际上挺有意思的,不用那些老掉牙的“日期差”大法,直接讲个真办法。 大量人第一步就卡住了,当作得先算差值再除以 24 要么 365 啊,结局一输入数字,鼠标点进去,根本转不动,报错找不到日期。
实际上 Excel 自带的日期函数早就藏好了这个秘密。最推荐的是 `DATEDIF`,这个函数简直是专为“天数差”量身定做的。你只需求把日期写进去,比如把 2023 年 1 月 1 日写成 1/1/2023,它的逻辑就是自动帮你算出从启动到终止具体走了多少天,并且它把“日”单位给默认切分了,故此常用来算真日历年天数,这比算自然年天数要准多了。 要是你是想算两个日期之间实际经过的天数,比如明天是 2 号,今天 1 号,实际只跨了一整天,`DATEDIF` 能一眼就看出来是 1 天。
那就是你最关心的那个真间隔,不用自己琢磨。 要是想算的是自然年天数,比如从 2023 年 1 月 1 日到你生日那天,具体是多少天。
这时候就交给 `YEARFRAC` 好了。
这个函数有点超本事,它能帮你把日期直接转换成小数,0.25 代表 25 天,0.9 代表大约 9 个月。
然后你再乘以 366 要么 365,就能拿到准的天数。
哪怕你的年份不是平年也不是闰年,它都能自动处理,不用写一堆复杂的 IF 判断代码,用起来既干净利落又高效。 再说说如何算它自己生成的天数。
要是你用 `DATEDIF` 算出来的结局单位是“年”,你想看看这里面到底埋了多少天,能够用 `INT` 和 `MOD` 来挖。
比如 `DATEDIF(A1, B1, "Y")` 算出是 5 年,后面加 ` 365` 就是纯天数。
要是知道具体天数,再除以 365 要么 366,就能拿到年数。
这里有个小技巧,有时候日子是 365-1/2 天的,直接除可能会乱,用 `MOD` 取整有点复杂,不如直接用 `DATEDIF` 算出来一个总天数,除以 365.25,这样既平滑又准,彻底没必要自己硬算。 还有一个叫 `TODAY` 的函数,它是用来在 Excel 里查今天啥的,跟日期差天数的 `CALC` 查不一样。`CALC` 是在后台给你算出个数字结局,比如你输入 A1 的日期,它会在空白格子里给你填好天数,你点一下就行。`TODAY` 却是在格子 A1 里直接显示今天的日期字符串。
要是你需求把日期变成数字再算差,用 `CALC` 最合适;要是你只是想看看今天是啥日子,`TODAY` 就行。 那在实际操作里,能不能偷懒直接用 `COUNTIF`?不中。`COUNTIF` 是数有多少个“1”要么“100"这样的数字,日期本身不是数字,故此它彻底不管用。你得先把日期转换成数字,再用 `INT` 和 `MOD` 去算,这操作量忒大了,并且好办出错。直接用 `DATEDIF` 最省心,它要么给个整数,要么给个小数,你自己乘个常数就能搞定,不用猜不用算。 举个具体例子,假设 A1 是"2023-01-01",B1 是"2023-12-31"。
要是你用 `DATEDIF` 算差值,单位选"Y",结局就是 365.25 天。你要是想算从 2023 年 1 月 1 日到你的生日(假设是 2023 年 6 月 15 日,即 183 天),`DATEDIF` 给你算出 5.25 年。
这时候你乘以 365 就是 1915.25 天,这个数忒长了,务必再除以 365,结局就是 5.25 天。
这里实际上有个小难题,要是生日是 3 月 31 日,那就是 4 月 1 日,那就是 4 天,而不是 3 天,出于从 3 月 31 到 4 月 1 实际跨了 1 天。
故此最好用 `DATEDIF` 算出总天数,再除以 365.25,这样甭管第几天,都能算出精确的 1 天、0.5 天,就连 0.25 天,误差小到简直能够忽略不计。 要是你是想算在 1 月 1 日到 1 月 2 日之间经过了多少天,那就是 1 天。`DATEDIF` 能直接告诉你 1 天。
要是你是从 1 月 1 日算到 1 月 3 日,那就是 2 天。函数会自动处理这种连续射线的情况,不会像某些减法那样出现负数要么需求分段聊聊。它确实挺灵活,能应对各种复杂的工夫跨度。 自然,要是有人嫌 `DATEDIF` 忒复杂,想找个好办的替代,那 `INT` 配合 `MOD` 也是个备选方案,但缺点就是好办把第 3 天的天数算错。
比如 2 号到 3 号,要是是 365 年,2 号是 0.0,3 号是 0.25,差是 0.25 年,乘以 365 是 91 天。
这就错了,应当是 2 天。
故此 `DATEDIF` 在这方面更可靠,它处理的是“自然数”的天数,而不是把每一天拆开算。 总结一下,计算天数这事儿,核心就三招:看差值用 `DATEDIF`,看自然年用 `YEARFRAC`,查今天用 `TODAY`,算总天数再转单位用 `INT`/`MOD`。别再去查资料找算法了,内置函数别看比教科书上的公式费事点,但好用得多,并且不用自己写那些冗长且好办错的 `IF` 嵌套逻辑。
只要熟悉这几个,Excel 里的日期运算就省事多了。