计算两个日期每季度的天数

时间:2019-01-23 20:25:16

标签: excel excel-formula

所以,我有一个项目,如果给定两个日期,则需要计算每个季度之间的天数。从理论上讲,我可以使用NETWORKDAYS,但是我遇到了困难,因为很多时候两个日期之间的持续时间是1年以上。

直观显示会更容易。我需要这样的格式:

img1

有人对如何实现这一目标有想法吗?

1 个答案:

答案 0 :(得分:1)

好的,包含每个季度的开始和结束日期的帮助程序行将使此操作变得容易得多,但这是仅公式解决方案。

已更新

我意识到我做的太复杂了。这是精简版。

在单元格J2中:

=MAX(MIN(VALUE(CHOOSE(MID(J1,2,1),"3/31/","6/30/","9/30/","12/31/") & RIGHT(J$1,4)),$H2)-MAX(VALUE(CHOOSE(MID(J1,2,1),"1/1/","4/1/","7/1/","10/1/") & RIGHT(J$1,4)),$G2) + 1,0)

说明:

VALUE(CHOOSE(MID(J1,2,1),"3/31/","6/30/","9/30/","12/31/") & RIGHT(J$1,4)

这将获取季度的编号MID(J1,2,1),并使用该编号选择该季度的结束日期。然后将其与年份RIGHT(J$1,4)连接。然后将结果字符串转换为数字值。

使用相同的方法来获取开始日期,而使用适当的季度开始日期。

注意:如果您定义了不同的季度,例如会计年度,则更改为匹配。

生成的简化公式,带有描述性名称而不是单元格引用:

=MAX(MIN(QtrEnd, EndDate) - MAX(QtrStart, StartDate) + 1, 0)

MIN(QtrEnd, EndDate) - MAX(QtrStart, StartDate)从最早的(最小的)结束日期减去最新的(最大的)开始日期,然后我们加上1以获得天数而不是差值。

Max(CountOfDays, 0)捕获任何负值,而返回0

注意:我没有得到与图形相同的值。我认为您的价值观不正确。除非您对第二季度有不同的开始日期(我使用的是4/1),否则您不可能在2018年第二季度有45天。

这是我得到的值:

My Values