excel-formula - 仅用于未来期间的两个日期之间按月计算天数的公式
问题描述
努力想出一个适用于此的公式(A1 - E4 中的数据)
StartDate EndDate Jan Feb Mar
12/4/2018 4/20/2019 31 28 31
9/26/2018 1/30/2019 30 0 0
1/1/2019 3/31/2019 31 28 31
1/1/2015 3/31/2019 155 141 155
在单元格 C2 中,公式为:
=SUMPRODUCT(--(TEXT(ROW(INDIRECT($A2 & ":" & IF($B2="",TODAY(),B2))),"mmm")=C$1))
我想要做的是从总和中排除过去的日期,例如在第 4 行,Jan/Feb/Mar 应该是 31/28/31 并且不计算前几年。
有什么想法我哪里出错了吗?
解决方案
为年份添加一个 chck:
(YEAR(ROW(INDIRECT($A2 & ":" & IF($B2="",TODAY(),$B2))))=YEAR(TODAY()))
并在 SUMPRODUCT 中相乘:
=SUMPRODUCT((YEAR(ROW(INDIRECT($A2 & ":" & IF($B2="",TODAY(),$B2))))>=YEAR(TODAY()))*(TEXT(ROW(INDIRECT($A2 & ":" & IF($B2="",TODAY(),$B2))),"mmm")=C$1))
一注:
INDIRECT 是易变的,每次 Excel 重新计算时都会重新计算。我更喜欢用 INDEX 替换它们:
=SUMPRODUCT((YEAR(ROW(INDEX($A:$A,$A2) :INDEX($A:$A, IF($B2="",TODAY(),$B2))))>=YEAR(TODAY()))*(TEXT(ROW(INDEX($A:$A,$A2) :INDEX($A:$A, IF($B2="",TODAY(),$B2))),"mmm")=C$1))
推荐阅读
- java - 如何从 ifPresentOrElse 语句中获取对象数据?
- javascript - 如何使时刻(日期)成为对象键,时刻(时间)是值;
- angular - Angular ControlValueAccessor 的 WriteValue 方法不会触发 ngModelChange
- android-fragments - 如何在 Android 的单个片段中使用多个视图模型?
- java - Java:将 ms word 转换为 pdf 时,标题空间中不需要的空格
- c - 如何将结构 B 中的节点插入到结构 A(二叉树)
- stata - 在语法中使用默认值预设强制字符串选项
- apache-kafka - 使用 Flux 缓冲 kafka 消息
- typescript - 如何从角度 7 中的素数 ng 表中获取第一列 td 值
- javascript - 搜索功能表