首页 > Excel > vlookup函数如何返回符合两个条件的值

vlookup函数如何返回符合两个条件的值

2010年5月15日 Surda 发表评论 阅读评论

上周三有群友询问如何使用 EXCLE VLOOKUP比对查寻两表中符合两条件的值。都知道vlookup一般只能做单条件查寻,具体用法=vlookup(比对值,查寻区域,所取值列,【0,1】)。

下面就罗列几种运用EXCEL函数返回符合两个条件的值。

日期 姓名 评级 分数
6月1日 王二 优秀 400
6月1日 周六 良好 350
6月1日 李武 及格 300
6月1日 周斌 较差 250
6月1日 吴三 优秀 400
6月2日 张三 良好 350
6月2日 周斌 及格 300
6月2日 周六 良好 350
6月2日 李武 优秀 400
6月2日 吴三 良好 350

——->表“VLA”

日期 姓名 VLOOKUP() SUMPRODUCT() SUM() INDEX() INDEX() OFFSET() OFFSET()
6月1日 王二 优秀 400 400 400 优秀 400 优秀
6月2日 李武 优秀 400 400 400 优秀 400 优秀
6月2日 周六 良好 350 350 350 良好 350 良好
6月2日 李武 优秀 400 400 400 优秀 400 优秀
6月2日 吴三 良好 350 350 350 良好 350 良好
6月1日 李武 及格 300 300 300 及格 300 及格
6月1日 周斌 较差 250 250 250 较差 250 较差
6月2日 张三 良好 350 350 350 良好 350 良好
6月2日 周斌 及格 300 300 300 及格 300 及格
    数组函数 非数组 数组 数组 数组 数组 数组

———>表”VLB”

效果如上表所示,具体公式如下:

公式1=VLOOKUP(A2&B2,IF({1,0},VLA!$A$2:$A$11&VLA!$B$2:$B$11,VLA!$C$2:$C$11),2,0)

数组公式输入完按ctrl+shift+enter

公式2=SUMPRODUCT((VLA!$A$2:$A$11=A2)*(VLA!$B$2:$B$11=B2)*VLA!$D$2:$D$11)

当所取值区域为数值时可用此函数,文本则不行

公式3=SUM((VLA!$A$2:$A$11=A2)*(VLA!$B$2:$B$11=B2)*VLA!$D$2:$D$11)

 当所取值区域为数值时可用此,数组公式输入完按ctrl+shift+enter

公式4=INDEX(VLA!$A$2:$D$11,MATCH(A2&B2,VLA!$A$2:$A$11&VLA!$B$2:$B$11,0),4)

 数组公式输入完按ctrl+shift+enter

公式5=OFFSET(VLA!$A$1,MATCH(A2&B2,VLA!$A$2:$A$11&VLA!$B$2:$B$11,0),3)

数组公式输入完按ctrl+shift+enter

共勉。【附实例下载

ShareOn:
  •  
  1. 2010年5月16日05:05 | #1

    很实用。

  2. 2010年7月3日11:06 | #2

    Excel 函数非常有用 各函数在不同的作用域下 起到的效果也不尽相同

  3. 2010年8月19日13:07 | #3

    实用了,EXCEL强人。

  4. 2010年8月25日11:09 | #5

    这个是我真没用过!谢谢分享!

  5. 2010年9月25日00:51 | #6

    不错的~~~~~~~~顶一个

  6. window
    2011年6月11日23:44 | #7

    有两个表,表1和表2, 表1如下:
    ID 名称 类型
    1 王 A
    2 李 B
    3 张 A
    表2如下:
    ID 名称
    1
    3
    需要在表二中生成ID和相同且类型为A的名称。试着用了你之前的一些公式,还是不行。有两个关键问题:
    一是先筛选出ID一致,再在其中选出类型为A(或固定数值),得到对应的名称,请教!

  7. 2011年6月12日17:04 | #8

    @window
    如果可以 你可以发一张示例表给我 surdawu#163.com
    另:Vlookup默认是自左向右查找对应值,所以你通过”ID+类型”查找”名称”,你应该调整列序

  1. 本文目前尚无任何 trackbacks 和 pingbacks.