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

标签 excel excel-formula

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

视觉上会更容易展示。我需要格式如下所示:

img1

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

最佳答案

好的,包含每个季度的开始和结束日期的帮助行会使这更容易,但这里是一个仅公式的解决方案。

更新

我意识到我把这弄得太复杂了。这是精简版。

在单元格 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 天。

这是我得到的值:

My Values

关于excel - 计算两个日期每季度的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54335099/

相关文章:

vba - 如果找到特定字母,如何在 Excel 中插入新行

vba - 从数组中快速填充 excel 单元格

c# - 使用 ClosedXML 另存为 pdf

excel - 如何将 VBA 编辑器恢复到初始设置?

excel - 防止单元格被计算

c# - 使用 C# 和 ASP.NET 将数据从 Excel 文件导出到 SQL Server 表的最佳方法?

excel - 如何在Excel "vlookup"中搜索多列并从同一行中的另一列返回值?

excel - 根据 A 列的每个不同值获取 B 列的最大值

excel - 使用VLOOKUP将sheet2与sheet1的2个单元格匹配并返回第三个单元格

excel - 有什么办法可以让excel中的时间停止计数吗?