回覆列表
  • 1 # 值得一看的職場那些事

    在excel, 如要求1天都不能有誤差, 任何計算公式, 同時涉及月和日的數量, 都是會非常長及複雜的方法:1.) 先用 datedif 函式 計算完整月數:=datedif(a1,b1,"m")2.) 如 b1的日是大於a1的日:分子是 day(b1)-day(a1)分母是 b1該月的總天數,公式是 =day(date(year(b1),month(b1)+1,1)-1)小數值 是 分子/分母, 即=(day(b1)-day(a1))/day(date(year(b1),month(b1)+1,1)-1)3.) 如b1的日是少於a1的日:分子是 day(b1)-day(a1) + b1 上一個月份的天數分母是 b1 上一個月份的總天數,公式是 =day(date(year(b1),month(b1),1)-1)小數值 是 分子/分母, 即=(day(b1)-day(a1)+day(date(year(b1),month(b1),1)-1))/day(date(year(b1),month(b1),1)-1)將以上三條公式合併, 便是樓主要的答案, 1天都不會偏差=datedif(a1,b1,"m")+if(day(b1)>=day(a1),(day(b1)-day(a1))/day(date(year(b1),month(b1)+1,1)-1),if(day(b1)<day(a1),(day(b1)-day(a1)+day(date(year(b1),month(b1),1)-1))/day(date(year(b1),month(b1),1)-1)))=9.9(月) 或 9.892857143(月)補充:公式太長了, 我剛將公式簡化如下:=datedif(a1,b1,"m")+datedif(a1,b1,"md")/day(date(year(b1),month(b1)+if(day(b1)>=day(a1),1,0),1)-1) 由於考慮到很多網友的excel都沒有eomonth函式, 故沒有將此函式加在我的答案上, 反正公式亦短不了多少補充:2.) c1 輸入 =datedif(a1,b1,”m”), 顯示整月部分d1輸入 =datedif(a1,b1,”md”), 顯示不足1月的整日部分另再提供:=datedif(a1,b1,”y”), 顯示整年部分=datedif(a1,b1,”ym”), 顯示不足1年的整月部分=datedif(a1,b1,”d”), 顯示整日部分。

  • 中秋節和大豐收的關聯?
  • 翩若驚鴻是什麼意思?