在Excel 2007中,如何从命名范围中对多列的SUMIFS索引进行?

问题描述 投票:2回答:4

我正在分析与特定用户类别的贷款有关的图书馆统计数据。贷款数据形成指定范围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有条件地对三列中的索引值求和?我宁愿不使用三个单独的公式并将它们加在一起,尽管它是可能的。

excel indices named-ranges sumifs
4个回答
0
投票

sumifs公式是在数组公式之后建模的,并且sumifs中的比较需要具有相同的大小,最后一个模拟LoansToApril2013阵列列中的单个列4:4是第4列。

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


0
投票

sumifs不能这样做,但sumproduct可以

例:

X  1  1  1
Y  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 + SHIFT + ENTER输入公式 - 您应该注意到excel将{}放在公式周围。它将任何文本视为零,因此即使您在其中一个框中有文本,它也会成功地将它找到的数字相加(例如,将示例中的1中的一个更改为blah,总数将为2 - 公式将在行中添加剩余的两个1s)


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” ”。

尽管出现了,但它并没有增加任何其他东西。我在this page上找到了解释,但基本上星号是为函数添加标准。请注意,标准包含在它们自己的括号中,而范围则不包括在内。


0
投票

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

我使用该公式检查两列中的条件,然后将结果汇总到一个表中,该表具有12个月的列(该列由辅助单元格选择,为1到12 [L4])。

所以你可以这样做:

部门(1栏名称范围[C6])=销售[D6];区域(1列名称范围[C3])= USA [D3];对于那些人/产品/订单项,12个月的每月命名范围表[E7]中的SUM表示该单个月[L4]

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

= SUMPRODUCT((指数(间接($ C $ 6),0,1)= $ D $ 6)*(指数(间接($ C $ 3),0,1)= $ D $ 3)*指数(间接($ E7)) ,0,L $ 4))

© www.soinside.com 2019 - 2024. All rights reserved.