Excel/ Libreoffice Calc - 确定日期范围并仅汇总该范围内的月份值
Excel/ Libreoffice Calc - determine date range and sum up only the values of the months from that range
如何用Sumif只对日期范围内月份的值求和?
然后我从初始值中减去这个总和并得到剩下的 - 请参阅文档和屏幕截图
您可以尝试根据 SUMIFS() 构造一个公式 - 对于“完全相等”的条件,它会很方便,但对于计算“在 month1 和 month2 之间”这样的条件,该公式变得相当麻烦。因此最好使用SUMPRODUCT()。在这种情况下,公式可能如下所示:
=SUMPRODUCT($E3:$P3;COLUMN($E3:$P3)-3>MONTH($C3);COLUMN($E3:$P3)-3<MONTH($D))
这在 Calc 中运行良好,但 Excel 会给出错误的结果,零。事实是,Calc 很容易将数字比较的结果转换为 FALSE 和 TRUE,意识到它们是 0 和 1。Excel 并不想将逻辑值转换为数字。因此,您必须另外将每个比较包装在函数 N():
中
=SUMPRODUCT($E3:$P3;N(COLUMN($E3:$P3)-3>MONTH($C3));N(COLUMN($E3:$P3)-3<MONTH($D3)))
此公式在 Calc 和 Excel 中的作用相同。
如何用Sumif只对日期范围内月份的值求和?
然后我从初始值中减去这个总和并得到剩下的 - 请参阅文档和屏幕截图
您可以尝试根据 SUMIFS() 构造一个公式 - 对于“完全相等”的条件,它会很方便,但对于计算“在 month1 和 month2 之间”这样的条件,该公式变得相当麻烦。因此最好使用SUMPRODUCT()。在这种情况下,公式可能如下所示:
=SUMPRODUCT($E3:$P3;COLUMN($E3:$P3)-3>MONTH($C3);COLUMN($E3:$P3)-3<MONTH($D))
这在 Calc 中运行良好,但 Excel 会给出错误的结果,零。事实是,Calc 很容易将数字比较的结果转换为 FALSE 和 TRUE,意识到它们是 0 和 1。Excel 并不想将逻辑值转换为数字。因此,您必须另外将每个比较包装在函数 N():
中=SUMPRODUCT($E3:$P3;N(COLUMN($E3:$P3)-3>MONTH($C3));N(COLUMN($E3:$P3)-3<MONTH($D3)))
此公式在 Calc 和 Excel 中的作用相同。