1

我试图告诉 Excel 根据每行中包含一个值的最后一个单元格来更改 SUMIF 公式的单元格引用。现在,我知道我可以编写一个嵌套的 if 语句来为我做这件事,但它太笨拙了,不能成为一个长期的解决方案。

例子:

在单独的报告中,此列表中的每个人都有多行记录他们的每日销售额。在小范围内,我会简单地编写一个SUMIF用于 A2、B3 和 C4 的标准。规模要大得多,所以我目前的解决方案是写出一个逻辑检查,其中包含SUMIF公式。

在这种情况下,E2 中的公式将是:

=IF(C2="",if(B2="",SUMIF('range',A2,'range'),sumif('range',B2,'range')),sumif('range',C2, '范围'))

是否有不同的方法告诉 ExcelSUMIF使用每行中找到的最后一个值运行?

我希望我可以对每一行使用 COUNTA,然后让 SUMIF 公式使用 COUNTA 值来更改标准单元格引用。我在这里遗漏了一些东西。

4

1 回答 1

2

=SUMIF('范围',INDEX(A2:C2,MATCH("zzzzz",A2:C2)),'范围')

似乎值得一试。

编辑太长的评论:

我真的不知道 =MATCH() 是如何工作的,但认为它是在搜索时从左到右遍历。当它找不到匹配项时,它恰好一直在查看最后一个条目,并且(方便!)提供了它。所以关键是寻找一些不会被发现的东西。

对于人们的名字,我选择了“zzzzz”,因为它不太可能出现。对于数字,理论上可以达到 9.99999999999999E+307,因此有些人使用它(例如,一个小时前的公式从选择中获取第一个具有数值的单元格?)但我更喜欢 googol (1E+100) 并且看起来足够大,更短 - 并且更容易记住,即使9或多或少几个 s 不会有任何区别,也不可能在 . 之后有几个整数+

于 2013-09-11T23:17:11.707 回答