【问题标题】:Sum values based on date compared to current date基于日期与当前日期比较的总和值
【发布时间】:2021-03-19 10:06:47
【问题描述】:

我目前正在尝试创建一个 if 语句,该语句根据日期是否已过来对值进行求和。

Excel example image

M1 到 M12 指示一年中的月份,例如M1 为 01/01/2021,M12 为 01/12/2021

现在我想创建或使用一个公式,根据我们当前所在的月份对第 4 行中的值求和 --> 如果我们当前在 M1 中,例如15/01/2021,那么只需对 A4 中的值求和即可。但是,例如,如果我们在 M3 (28/03/2021) 中,则需要将 A4 + B4 + C4 相加

我尝试使用以下公式,但问题是当它找到大于 01/01/2021 的值时,不再考虑其他月份

=IF(TODAY()>=A2;A4;IF(TODAY()>=B2;SUM(A4:B4);0))

我在函数末尾添加了零以关闭公式,但我的想法是将其延长至 12 个月。但是,它只对第一个单元格 (A4) 求和,因为条件已经满足。如果几个月过去了,我如何“覆盖”第一个条件?

任何帮助将不胜感激;我原谅自己提出了一些可能很愚蠢的问题,但 Excel 不是我的强项,我正在努力学习。

亲切的问候,

VHes

【问题讨论】:

    标签: excel excel-formula office365 spreadsheet excel-365


    【解决方案1】:

    试试:

    =SUM(INDEX(4:4,SEQUENCE(MONTH(TODAY()))))
    

    【讨论】:

    • 谢谢哥们!这完美地工作。现在我要试着弄清楚这到底是如何工作的哈哈!拯救了我的一天!
    • 显然@ForwardEd,必须更改数据=)
    • 我已经知道了,但感谢您的提醒!
    【解决方案2】:

    使用 SUMIF 的另一种方法:

    =SUMIF(A2:L2,"<"&EOMONTH(TODAY(),0),A4:L4)
    

    如果您的 excel 版本不支持 SEQUENCE(基于它支持的 cmets),您也可以尝试以下方法:

    =SUM(A4:INDEX(A4:L4,MONTH(TODAY())))
    

    这里的技巧是 INDEX 实际上提供了一个单元格地址,并在需要时显示该单元格的内容。

    【讨论】:

    • @Forward Ed 谢谢你!我想,一旦我换了电脑,我实际上将不得不使用它。我现在也尝试了您的解决方案,效果也很好!非常感谢朋友! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 2013-01-04
    • 1970-01-01
    • 2016-07-24
    • 2011-03-26
    相关资源
    最近更新 更多