• 公共场所禁烟第一案今开庭 2018-08-18
  • 《妈妈咪鸭》创海外预售纪录 2018-08-18
  • 涉警无小事勿轻言放过 2018-08-18
  • “功夫仓鼠”恶斗 尘土飞扬似动作大片 2018-08-17
  • 自主品牌传祺GS4拿下J.D power五冠 2018-08-17
  • 将个性发挥到极致 实拍甲壳虫乐动橙版 2018-08-17
  • 青岛市委常委会召开扩大会议 2018-08-17
  • 爱尔兰艺术瑰宝《大河之舞》将在广州收官 2018-08-16
  • 渝中书记黄玉林:认真抓好安全稳定各项工作 2018-08-15
  • 沈阳市经贸代表团出访德国瑞典取得丰硕成果 2018-08-15
  • 普洱:野象进村民家吃粮食搞破坏 2018-08-15
  • 市委常委会召开扩大会议 传达贯彻党的十九届三中全会精神陈敏尔主持并讲话 2018-08-15
  • 新知新觉:在新时代继续带领人民创造美好生活 2018-08-12
  • 台州:三门打响发展经济一号工程攻坚战 2018-08-12
  • 用好“四种形态”教育保护挽救干部 2018-08-12
  • Excel中多条件查找对满足两个以上条件的数据进行查找并引用

    时间:2014-07-06   作者:snow   来源:互联网

    在Excel中,如果根据某一个条件,查找表中的值,这是一件较为容易的事情,MATCH()、INDEX()、LOOKUP()、VLOOKUP()、HLOOKUP()等函数均可较为容易的实现。但如果要进行满足多条件查找,则是一件不容易的事情,而工作中会经常遇到需要对满足两个以上条件的数据进行查找并引用的问题,本节提供多种方法如:数组公式、VLOOKUP函数、INDEX和MATCH函数等等,大家可以根据情况选择。SHEET1工作表内容如图:

    Excel中多条件查找并引用数据

    现在要求在SHEET2工作表的A、B列输入有关内容后,C列自动从SHEET1工作表中查找并引用相应的C列的内容。SHEET2工作表如图:

    Excel中多条件查找并引用数据

    SHEET2工作表C1单元格使用以下数组公式,可达到目的:

    =IF(OR(A1="",B1=""),"",OFFSET(Sheet1!$C$1,SUM(IF((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1),ROW(Sheet1!C$1:C$1000),0))-1,0,1,1))

    注意:输入完公式后要按Ctrl+Shift+Enter键,让它自动加上数组公式符号"{}"。

    用VLOOKUP函数解决方法:

    =IF(OR(A1="",B1=""),"",VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,0))

    用INDEX和MATCH函数解决方法:

    =IF(OR(A1="",B1=""),"",INDEX(Sheet1!C$1:C$1000,MATCH(A1&B1,Sheet1!A$1:A$1000&Sheet1!B$1:B$1000,0)))

    这两个也是数组公式。

    另提供两个不用数组公式的解决方法:

    =IF(OR(A1="",B1=""),"",INDIRECT("Sheet1!$C"&SUMPRODUCT((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1)*ROW(Sheet1!C$1:C$1000))))

    =IF(OR(A1="",B1=""),"",LOOKUP(2,1/((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1)),Sheet1!C$1:C$1000))

    推荐使用VLOOKUP的应用,而且不用太多改变原数据库。

    增加对#N/A的判断函数:

    更改函数如下(数组函数)

    =IF(ISERROR(VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,FALSE)),"",VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,0))

    如果该位置显示为0 可以使用“条件格式……” 当该格=0时,字体颜色同背景色。

    发表评论