所以,我有一个项目,如果给定两个日期,我需要计算每个季度它们之间的天数。理论上我可以使用 NETWORKDAYS,但我遇到了困难,因为这两个日期之间的持续时间很多时候是 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
反而。
注:我没有得到与图形中相同的值。我不认为你的值(value)观是正确的。除非您对第 2 季度有不同的开始日期(我使用的是 4/1),否则您不可能在 2018 年第 2 季度有 45 天。
这是我得到的值:
关于excel - 计算两个日期每季度的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54335099/