加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

如何在表格中查找满足两个条件的值

(2012-09-08 23:51:51)
标签:

杂谈

分类: EXCEL技巧

最近遇到一个难题,如何查找满足两个条件的值,特在网上搜索了以下方法:

举例:

sheet1,原数据:

2B铅笔

15
2B铅笔 45
4B铅笔 10
4B铅笔 8

 

sheet2,查询数据:

2B铅笔 =SUM(A1=Sheet1!$A$1:$A$4)*(B1=Sheet1!$B$1:$B$4)*(Sheet1!$C$1:$C$4)
2B铅笔 =SUM(A2=Sheet1!$A$1:$A$4)*(B2=Sheet1!$B$1:$B$4)*(Sheet1!$C$1:$C$4)
4B铅笔 =SUM(A3=Sheet1!$A$1:$A$4)*(B3=Sheet1!$B$1:$B$4)*(Sheet1!$C$1:$C$4)
4B铅笔 =SUM(A4=Sheet1!$A$1:$A$4)*(B4=Sheet1!$B$1:$B$4)*(Sheet1!$C$1:$C$4)

 

方法:

1、C1=SUM(A1=Sheet1!$A$1:$A$4)*(B1=Sheet1!$B$1:$B$4)*(Sheet1!$C$1:$C$4)

2、C1=SUMPRODUCT(A1=Sheet1!$A$1:$A$4)*(B1=Sheet1!$B$1:$B$4)*(Sheet1!$C$1:$C$4)

3、C1=INDEX(Sheet1!C3:C6,MAX((Sheet1!A3:A6=Sheet2!A3)*(Sheet1!B3:B6=Sheet2!B3)*ROW(1:4)))

4、C1=LOOKUP(2,((Sheet1!$A$1:$A$4=Sheet2!A1)*(Sheet1!$B$1:$B$4=Sheet2!B1)) ^-0.5,Sheet1!$C$1:$C$4)

5、C1=VLOOKUP(A1&B1,IF({1,0},Sheet1!$A$1:$A$4&Sheet1!$B$1:$B$4,Sheet1!$C$1:$C$4),2,0)

 

1)SUM &SUMPRODUCT最终只能返回数值,(A1=Sheet1!$A$1:$A$4)*(B1=Sheet1!$B$1:$B$4)返回的值是1或者o,(匹配的为1, 不匹配的为0),然后乘以1对应的返回值得出返回值

 

2)index和lookup函数即可返回数值,也可以返回文本。index需要注意的是ROW(1:4),这个不能做到自动填充也不能固定。


 

PS:其中公式中第二个参数(A1=Sheet1!$A$1:$A$4)*(B1=Sheet1!$B$1:$B$4), 为两个条件匹配,
- ((条件一 )*(条件二))  

- (A1=Sheet1!$A$1:$A$4)*(B1=Sheet1!$B$1:$B$4)

返回 : {1;1;0;0;0;0;0;0;0;0;0;0;0;0;0}
- 多个条件相乘, 产生 1 或 0 (匹配的为1, 不匹配的为0)
={1;1;0;0;0;0;0;0;0;0;0;0;0;0;0}^-0.5
 1^-0.5为1 ; 0^-0.5为#DIV/0!

 亦是返回 : {1;1;#DIV/0!;#DIV/0!;#DIV/0!;…...}

可参考:http://www.officefans.net/cdb/viewthread.php?tid=40942

       http://club.excelhome.net/thread-683380-2-1.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有