首页
学习
活动
专区
圈层
工具
发布

Excel总结
EN

Stack Overflow用户
提问于 2012-11-15 00:31:13
回答 2查看 88关注 0票数 0

我有这个,例如:

代码语言:javascript
复制
ColA   ColB  
X      1
Y      2
Z      3
X      4

我希望能够总结B栏中的所有值

  • 列A=X或
  • 列A=Y.

结果应该是7 (1+2+4)。

我做了这个:

SUM(IF(COUNTIF(A:A,"X"),VLOOOKUP("X",A:B,2,),"0"), IF(COUNTIF(A:A,"Y"),VLOOOKUP("Y",A:B,2,),"0"))

由于某种原因,它返回3,由于某种原因,它没有添加X的第二个值。

知道为什么吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2012-11-15 17:10:20

代码语言:javascript
复制
=SUMPRODUCT(((A2:A5="X")+(A2:A5="Y"))*(B2:B5))

如果您选择公式的一部分并按Ctrl+=,您可以看到它是如何计算的。

代码语言:javascript
复制
=SUMPRODUCT((({TRUE;FALSE;FALSE;TRUE})+({FALSE;TRUE;FALSE;FALSE}))*(B2:B5))

现在,当这两个数组相加在一起时,TRUE被强制为1,FALSE强制为零。

代码语言:javascript
复制
=SUMPRODUCT(({1;1;0;1})*(B2:B5))

得到的1和0的数组乘以B2:B5中的数组。

代码语言:javascript
复制
=SUMPRODUCT({1;2;0;4})

并总结到7。

票数 0
EN

Stack Overflow用户

发布于 2014-01-07 05:38:42

您的公式返回一个错误(也是多个o!)但是使用VLOOKUP3。由于问题不是Y的问题,所以通过去掉公式的这一部分简化了问题:

代码语言:javascript
复制
=IF(COUNTIF(A:A,"X"),VLOOKUP("X",A:B,2,),"0")  

这导致了1。但也是如此:

代码语言:javascript
复制
=VLOOKUP("X",A:B,2,)  

因此,COUNTIF(A:A,"X") (因为有两个X实例而返回2 )实际上没有帮助。代之以7,或1035=5 -无差别。

您显然知道,普通的VLOOKUP一旦找到符合其“规则”的第一个实例,就会停止“搜索”,但不幸的是,在找到第一个匹配后,插入一个带有COUNTIF的2并不足以‘告诉’VLOOKUP“,现在就开始查找第二个”。

所以对你的问题的回答是“是的。不能让VLOOKUP知道具有=COUNTIF函数的多个实例。“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13389810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档