• 注册
  • 你转发,我送钱!

    • 查看作者
    • EXCEL技巧,搜索查询功能,中级必备,满足任一条件筛选 一对多查找 图文

      在数据查询中,很多时候,我们需要提取符合条件的值,通常,我们提取的是同时符合两个条件的比较多,用法,一般都是在条件中间加上*,就是型号,在数组公式中表示同时符合的情况,如果我们要提取的条件,不是并且的关系,而是或者,就是两个条件符合一个,就查询出来,怎么做呢? 页面底端有最终演示效果

      要求:在灰色区域内,用公式,B列中,等于H1或是等于I1两个条件的所有行,就是只要B列包含生产部,或是技术部,都提取出来放到灰色区域,如何做呢?不是并且,是或者

      页面底端有最终演示效果

      步骤1, G3输入公式=INDEX(A:A,SMALL(IF((B$3:B$16=H$1)+(B$3:B$16=I$1),ROW(B$3:B$16),999),ROW(A1))),并按三键结束,就是同时按住ctrl+shift+enter,因为我们提取的是区域内符合条件的多项值,所以要用到数组公式,这个是最常用的三剑客,通常在内嵌公式IF((B$3:B$16=H$1)+(B$3:B$16=I$1)中,没有+号,一般都是*星号,*星号表示同时满足条件,但是在数组公式中,因为不能用and或是or等交集函数,只能用+号,+号就表示如何一个条件即可。

      公式解释:IF((B$3:B$16=H$1)+(B$3:B$16=I$1),ROW(B$3:B$16),999)这里,就是讲符合条件的值,形成一个数组,我们按F9键,就可以看到得到的结果是{3;4;5;6;999;999;999;10;11;12;13;999;999;999}这里的数字,表示的是行号,而后外套SMALL,就去的第一个最小值,第二个最小值,提取符合条件的值后,其他的就是第999行,为空置,而后用INDEX,返回A列对应的行的结果

      步骤2,在H3输入公式=IFERROR(VLOOKUP($G3,$A$3:$E$16,COLUMN(B3),FALSE),""),而后右拉,下拉,获取所有值

      公式解释,因为上部,我们已经获取了符合条件的序号,而后我们就可以根据序号,用VLOOKUP得到序号对应的条件范围内的行数。外套IFERROR屏蔽错误值。

      另外亲们可能会问,为什么用两个不一样的函数呢?因为数组公式,会影响运行速度,实际中,我们只需要用数组公式提取序号,而后用VLOOKUP函数提取其他的,这样运行起来的速度,会快很多,毕竟做表格,是为了实用!

      分享给好友,让更多人学会

    • 0
    • 0
    • 0
    • 127
    • 单栏布局 侧栏位置: