2

我正在分析与特定用户类别的贷款有关的图书馆统计数据。贷款数据形成命名范围 LoansToApril2013。Excel 2007 很高兴我在 SUMIF 中使用索引范围作为总和范围:

=SUMIF(INDEX(LoansToApril2013,0,3),10,INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6))

这里的 10 表示一个特定的用户类别,这是从三列向该组提供的贷款总和。通过“索引范围”,我指的是

INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6)  

sum_range 值。

但是,如果我切换到使用 SUMIFS 添加更多条件,如果使用索引范围,Excel 会返回 #VALUE 错误。它只接受一个索引。

=SUMIFS(INDEX(LoansToApril2013,0,4),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL") 

工作正常

=SUMIFS(INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL")

返回#value,我不知道为什么。

有趣的是,

=SUMIFS(INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,4),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL")

也被接受并返回与第一个具有单个索引的相同。

我找不到与此相关的任何文档或评论。有谁知道是否存在允许 SUMIFS 有条件地对三列中的索引值求和的替代结构?我宁愿不使用三个单独的公式并将它们加在一起,尽管这是可能的。

4

4 回答 4

0

sumifs公式是根据数组公式建模的,并且比较中sumifs需要相同大小,最后一个模仿LoansToApril2013数组中的单个列4:4是第 4 列。

倒数第二个是 3 列宽,比较列是 1 列宽,导致错误。

于 2013-04-18T11:37:22.303 回答
0

上面的两个答案和一些搜索让我找到了一个有效的公式。我会把它放在这里以供后代使用,因为没有最终结果的问题对未来的读者来说是一种痛苦。

=SUMPRODUCT( (INDEX(LoansToApril2013,0,3)=C4) * (INDEX(LoansToApril2013,0,1)="PTFBL") * INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6))

这将 LoansToApril2013 范围的第 4-6 列中的值加起来,其中第 3 列中的值等于 C4 中的值(也就是“这个公式左侧的单元格”)并且第 1 列中的值是“PTFBL ”。

尽管有外表,但它并没有将任何东西乘以其他任何东西。我在此页面上找到了解释,但基本上星号正在向函数添加标准。请注意,标准包含在自己的括号中,而范围不是。

于 2013-04-19T14:15:08.183 回答
0

如果要使用名称范围,则需要对索引命令使用 INDIRECT。

我使用该公式检查两列中的条件,然后在一个包含 12 列月份的表中求和结果(该列由 1 到 12 [L4] 的辅助单元格选择)。

所以你可以这样做:

部门(1 列名称范围 [C6])= 销售 [D6];地区(1列名称范围[C3])=美国[D3];12 列每月命名范围表 [E7] 中的 SUM 数字对于那些人/产品/行项目的 1 个单月 [L4]

只需在您的报告页面上复制公式,该页面包含月份的 1-12 列,您就会获得包含 2 个条件的月度摘要报告。

=SUMPRODUCT( (INDEX(INDIRECT($C$6),0,1)=$D$6) * (INDEX(INDIRECT($C$3),0,1)=$D$3) * INDEX(INDIRECT($E7) ,0,L$4))

于 2013-08-01T17:47:12.983 回答
0

sumifs不能这样做,但sumproduct可以

例子:

X 1 1 1
是 2 2 2
Z 3 3 3

从A1开始

公式=SUMPRODUCT((A1:A3="X")*B1:D3)给出答案3,并将X公式中的值更改为YZ将返回的值更改为适当的行总和。
请注意,如果您在该区域中有文本,这将不起作用 - 它会返回#VALUE!

如果你不能避免文本,那么你需要一个数组公式。使用相同的示例,公式将是=SUM(IF(A1:A3="X",B1:D3)),并且要将其作为数组公式输入,您需要使用CTRL++来输入公式 - 您应该注意到 excel 将{ }SHIFT放在公式周围。它将任何文本视为零,因此即使您在其中一个框中有文本,它也会成功地将找到的数字相加(例如,将示例中的一个更改为,总数将为 2 - 公式将将剩余的两个s 添加到该行中)ENTER1blah1

于 2013-04-18T15:32:16.570 回答