EXCEL - 如果日期与TODAY()匹配则为SUM列

时间:2016-10-13 22:22:11

标签: excel formula

我尝试使用SUMIF来获取我的结果,但它无法正常工作。

我有一行日期(XX / XX / XXXX格式),我想检查此行是否有当前日期。

如果该行包含当前日期,那么我想总计该列和行的总数5-20。

例如 - 今天是2016年10月13日。我想在某一行(例如第1行)中搜索TODAY(),如果找到TODAY(),则将此列从第1行累加到第3行。

      --A--      --B--
   10/13/2016   10/14/16
1     50           10
2     10            4
3     5             6

如果日期与TODAY()匹配,则结果应为65。

我还检查了根据日期给出的专栏信,但没有运气。

任何提示都是指定的!谢谢。

3 个答案:

答案 0 :(得分:0)

我认为你可以通过一个简单的IF和SUM

实现这一目标

即。在上面的示例中,如果您希望结果显示在底行,您可以使用:

=if(B2=today(), sum(B3:B5), "")

这将在列的底部显示日期=今天的列和其他列中的空白

screenshot

答案 1 :(得分:0)

您需要使用OFFSET功能。您可以在此处找到文档:https://support.office.com/en-us/article/OFFSET-function-C8DE19AE-DD79-4B9B-A14E-B4D906D11B66

在您的特定示例中,以下公式将起作用:

=SUM(OFFSET(D2, 1, MATCH(B2, $D$2:$F$2, FALSE) - 1, 20))

您可以在下面看到公式。假设您知道SUM公式正在做什么,我将解释OFFSET公式正在做什么:

  • 第一个参数:从单元格D2开始
  • 第二个参数:这是你想要做多少行上/下。在您的情况下,您需要从日期下方的行开始,以便' 1'它是。
  • 第三个参数:这是您想要的右侧列数 走。那么你想要的列数取决于在哪里 你的约会对象。所以这使用匹配公式来计算出多远 向右走。
  • 第四个参数:这是您要包含多少行。我只选了20个,在所选单元格下方包含20行。

您显然需要稍微修改参数以适合您的确切数据形状。

enter image description here enter image description here

答案 2 :(得分:0)

所以我会试一试:

{=SUM(HLOOKUP(TODAY(),Table_With_Dates_and_Three_Rows_Cell_Reference,{2,3,4}))}

注意:不要键入{}但是将公式放入其中,然后按Ctrl + Shift + Enter创建所谓的数组公式(它按元素逐个数组计算然后提交聚合函数值---在这种情况下是sum)。