Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: Eric_f765

[已解决]满足2个条件返回某单元格

[复制链接]
 楼主| 发表于 2012-11-26 23:47 | 显示全部楼层
gdsgzhrsh 发表于 2012-11-26 23:33
sumproduct  里面用*表示2个条件同时成立,你那个后面的表示的不是条件成立,而是相乘,sumproduct本来就 ...

非常感谢您的解释!学习了!:),以前用sumproduct 只是依样画葫芦,这回终于有点明白了。但或许这个函数还有更深入的用法。继续学习,再次感谢!
回复

使用道具 举报

 楼主| 发表于 2012-11-27 00:01 | 显示全部楼层
lisachen 发表于 2012-11-26 23:38
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4),(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21)) ...

=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21))
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)(Sheet2!$B$1:$AF$1=Summary!K$2)*(Sheet2!$B$2:$AF$21))
版主,我试了上面2个公式不行,不知道是我哪里用错了还是。。。
我还是比较同意5楼的观点,=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21))
第一个“*”,表示同时满足这2个条件,第二个“,”表示满足前面的条件后对后面区域的数据相乘。得到的就是我要的数据。

不知道我的理解是否正确,再次感谢您的帮助!
回复

使用道具 举报

发表于 2012-11-27 00:26 | 显示全部楼层
Eric_f765 发表于 2012-11-27 00:01
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4),(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21)) ...

这两个个公式是不行,我没注意看i数据源,忽略了你的sheet2中存在文本“-”。
不过sumproduct的用法你多看一下帮助
回复

使用道具 举报

发表于 2012-11-27 00:50 | 显示全部楼层
Eric_f765 发表于 2012-11-27 00:01
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4),(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21)) ...

谢谢你的支持,别的函数可以参考下,我写了2个
回复

使用道具 举报

发表于 2012-11-27 01:06 | 显示全部楼层
Eric_f765 发表于 2012-11-26 23:29
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21))
...

=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21))
结果你已经有了  就不在说 只解释 为啥那里里用  逗号

SUMPRODUCT(区域,区域)   他将忽略 里面的  文本 逻辑值  楼主最后 一个区域 逗号的后面 的 里面 有很多文本 “-”
如果 用* 号 。那么他 就把 前面一串的结果  先乘以 文本 横杠。  (四则运算)和文本乘 那是会出错的。。。  
这里用,号  只不过是借用这个函数的特性  把  横杠 忽略成 0  而已。。如果你那些  -横杠单元格都是 空的 那么用  *号 也不会出错。。
下面的公式是错的
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4),(Sheet2!$B$2:$AF$21))
因为第一个参数 返回的结果 是逻辑值 。。。 那么在这里也被 忽略了 返回结果了 。如过改成  * 号 那么就对了
如果你想说  这不就他基本用法嘛 。。。
如果你非要这么用 那就要把前面的逻辑值转成数组  套个 N 函数啊  * 1 啊  +0 啊 都可以  
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*1,Sheet2!$B$2:$AF$21)) 这样就对了

既然直接* 就可以何必多写那么一个 逗号是吧 。
你自己本身的公式 因为是多条件  所以 是  逻辑值 *  逻辑值  返回的结果 是数值 所以是对的。。。

只说道这里了,,不知道你有没有明白。。。

评分

参与人数 1 +20 金币 +20 收起 理由
9lee + 20 + 20 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2012-11-27 01:11 | 显示全部楼层
Eric_f765 发表于 2012-11-27 00:01
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4),(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21)) ...

错就在 你把 两个条件的的区域用,分开了  
((Sheet2!$A$2:$A$21=Summary!$G4) 那么这一串都返回 逻辑值  TRUE  和  FALSE    都被 函数忽略成 0 最后结果还是0   
  0*任何数都得0 嘛 。。。(我在上一层 已经解释了。可以看下)) 解释的不是很好不知道你能理解否。。
回复

使用道具 举报

 楼主| 发表于 2012-11-28 00:09 | 显示全部楼层
孤单无所谓 发表于 2012-11-27 01:06
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21))
...

我要好好地回味回味。非常感谢!
回复

使用道具 举报

发表于 2012-11-28 19:03 | 显示全部楼层
孤单无所谓 发表于 2012-11-27 01:06
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21))
...

不错                           
回复

使用道具 举报

发表于 2014-5-27 21:39 | 显示全部楼层
学习学习。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-9 10:05 , Processed in 0.702601 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表