【问题标题】:Calculating number of days between two dates dependent on month根据月份计算两个日期之间的天数
【发布时间】:2014-10-03 12:37:54
【问题描述】:

我正在尝试创建一个公式,以便计算每位客户入住酒店的晚数。很容易。

但是,在我的电子表格中,我有 12 列代表一年中的几个月(从 C 列开始),A 列有到达日期,B 列有出发日期。

如果到达日期是 2014 年 6 月 10 日 B 栏中的出发日期是 2014 年 7 月 13 日 我需要从 C 列开始的公式来计算与该月相关的夜/天数,即 6 月(H 列)为 21 天,7 月为 12 天(因为它们在第 13 天离开,所以不计算在内) .其他月份的列将不返回任何结果。

【问题讨论】:

  • 我不确定我是否理解您的问题。要计算 2 个日期列之间的日期数,只需创建一个保持 A-B 的公式,它将计算日期数,与月份无关。

标签: excel-formula


【解决方案1】:

为了简单起见,而不是 C1:N1 中的“一月”“二月”等,我只输入了数字 (1-12)

我在这里假设开始日期和结束日期的年份是相同的(如果不是,请进行更多编码,但您只提到了 12 个月的列...)

我还假设我们正在处理 A2 中的开始日期和 B2 中的结束日期。

C2 公式:

=IF(AND(MONTH($A2)=C1,MONTH($B2)=C1),$B2-$A2, IF(MONTH($A2)=C1,1+EOMONTH($A2,0)-$A2, IF(MONTH($B2)=C1,$B2-DATE(YEAR($B2),C1,1), IF(AND(MONTH($A2)<C1,MONTH($B2)>C1),DAYSINMONTH(DATE(YEAR($A2),C1,1)) ,0))))

复制/拖动到 D2:N2

解释:

  • 如果开始和结束日期在同一个月,只需计算差值,在月份数匹配的列中使用。
  • 现在我们知道开始月份和结束月份是不一样的。如果开始月份 = 参考月份,则天数将按 last_day_of_month - start date 计算(第一晚 +1)
  • 现在我们知道开始和结束月份不一样,参考月份不是开始月份。如果参考月份是最后一个月,则天数将为final_date - first_day_of_month
  • 如果以上都不是,那么参考月份要么完全在我们的日期范围内,要么在我们的日期范围之外。如果 start_month

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 2016-09-09
    • 2022-01-19
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    相关资源
    最近更新 更多