2

我有一个以下格式的 Excel 表格:

在此处输入图像描述

我想用 Excel 公式回答以下问题:

  • 11 月 17 日至 11 月 20 日期间迪士尼的总和是多少?

我的尝试 我尝试了以下方法,但未成功:

  1. SUMIFS与数组一起使用:

    =SUMIFS(c4:g8,c3:g3,i1,b4:b8,">="&i2,b4:b8,"<="&i3)

其中 i1 包含Disney, i2 包含17-Nov日期格式, i3 包含20-Nov日期格式。

但这不起作用,因为我们正在提交一个数组,我们必须在其中指定一个单元格范围。所以我尝试了以下方法:

  1. SUMIFS与范围一起使用:

    =SUMIFS(c4:g8,b4:b8,">="&i2,b4:b8,"<="&i3)

但这也不起作用,因为我认为我们正在使用>,<操作符来处理文本(表中的日期值)。

那么该怎么办?
我应该完全改变表格的格式吗?
我应该将其转换回范围吗?

4

3 回答 3

1

这就是 Sumproduct() 的优点。

=SUMPRODUCT($C$4:$G$8*($C$3:$G$3=company)*($B$4:$B$8>=startDate)*($B$4:$B$8<=finishDate))

在此处输入图像描述

company,startDate并被finishDate命名为 A11、B11 和 C11 的单元格。表中和第 11 行中的日期是真实日期。

如果您将日期存储为文本值,您将无法计算日期范围内的数据。日期必须是真实日期。文本不能用于定义日期范围。

于 2014-06-24T10:42:18.903 回答
1

为了获得更大的灵活性,我会考虑“展平”数据(例如),然后使用数据透视表过滤工具。

于 2014-06-24T11:07:01.410 回答
1

您可以使用IndexMatch选择要求和的列。

像这样的东西

=SUMIFS(INDEX($B$4:$G$8,,MATCH(I1,$B$3:$G$3)),$B$4:$B$8,">="&I2,$B$4:$B$8,"<="&I3)

您还可以像这样利用 Table Structured Addressing
(在 Excel 2010 中测试,因此 Excel 2007 中的表格格式可能略有不同)

=SUMIFS(INDEX(MyTable,,MATCH(I1,MyTable[#Headers])),MyTable[Date],">="&I2,MyTable[Date],"<="&I3)
于 2014-06-24T10:27:03.153 回答