在 Excel 中将间隔日分配给日历月份

在 Excel 中将间隔日分配给日历月份

我有一个员工休假记录系统。如果休假跨越两个日历月的部分时间,我需要将休假天数分配到休假的月份。例如:

2017 年 1 月 30 日 - 2017 年 2 月 3 日 (5 天)

将 5 天拆分为各个月份如下:

例子

这是手动完成的。如何使用公式自动完成此操作?

答案1

您实际上可以使用最少的日期函数和日期数学来完成此操作:

例子

唯一的公式在输出部分。

  • A8 仅=A3
    显示月份名称,只是简单的格式化,它是一种标准格式。

  • A9 只需要显示下个月的名称,这也是一种格式化,但获取下个月的日期的方法有很多。我使用的公式是:

    =日期(年(A3),月(A3)+1,1)

    这将给出 A3 中的日期之后的月份的第一天。

  • 休假天数可以都在同一个日历月,因此 B8 中的公式如下:

    =MIN(DAYSINMONTH(A3)-DAY(A3)+1,B3)

    (假设休假不能超过一个月。)该公式返回该月剩余天数或在 B3 中输入的天数中的最小值。

  • B9 是 B3 中的天数与 B8 中计算结果之间的差值(如果休假不跨越数月,则结果可能为零):

    =B3-B8

顺便说一句,这可以跨越年份界限。

相关内容