美文网首页excel_vlookup
详解:如何用vlookup函数实现多条件查找

详解:如何用vlookup函数实现多条件查找

作者: 闲钓宇哥 | 来源:发表于2016-10-12 18:53 被阅读0次

    vlookup函数本身只支持单条件查找,但在数据统计时,总会遇到需要多条件查找的时候,那我们如何用vlookup函数,来实现多条件查找呢?

    vlookup多条件查找

    如上图左边表格,数据排列方式不便于阅读,现需转化为右侧的排列形式,就需要用到多条件查找;我们可以在H3处,输入数组公式:{=VLOOKUP($G3&H$2,IF({1,0},$B$3:$B$17&$C$3:$C$17,$D$3:$D$17),2,0)}。然后向下向右复制填充即可。该公式的核心是if({1,0})函数,下面一步步结合实例来理解该函数:

    if({1,0})函数

    上图是两列数据,在任意空单元格输入公式:=if(1,A2,B2),返回结果为a;输入公式:=if(0,A2,B2),返回结果为1。因为在逻辑计算时:

    1=ture

    0=false

    于是:公式if(1,A2,B2)等价于if(ture,A2,B2),返回结果单元格A2;公式if(0,A2,B2)等价于if(false,A2,B2),返回结果单元格B2。

    那当我们输入公式if({1,0},A2,B2)时,计算机会返回什么结果呢?因条件{1,0}是一个二元数组,故返回结果也会是一个二元数组{A2,B2}。计算步骤是这样的:首先按顺序进行一次if(1,A2,B2)的计算,返回真值A2;然后按顺序进行一次if(0,A2,B2)的计算,返回假值B2;最后合并成数组{A2,B2}输出。

    注意选中D2:E2输入公式=if({1,0},A2,B2),以组合键Ctrl+Shift+Enter结束,并非键入{}

    以此类推,有:

    输入公式if({1,1},A2,B2),返回结果{A2,A2}

    输入公式if({0,0},A2,B2),返回结果{B2,B2}

    输入公式if({0,1,1},A2,B2),返回结果{B2,A2,A2}

    ......

    也就是说:(1)if({1,0})函数可以构建新区域;(2)在vlookup函数中嵌入if({1,0})函数,可实现多条件查找。现在返回分析最开始的那个函数公式:{=VLOOKUP($G3&H$2,IF({1,0},$B$3:$B$17&$C$3:$C$17,$D$3:$D$17),2,0)}。

    第一步:将两个条件单元格用连接符连接起来,合并为一个条件,即G3&H2,然后根据实际情况,调整锁定格式为$G3&H$2;

    第二步:既然条件合并为一个了,那么查找的两列也需要合并为一列,即B:B&C:C;但数组公式本身运算量就很大,不适合采用相对引用,故采取绝对引用$B$3:$B$17&$C$3:$C$17;

    第三步:利用if({1,0})函数,将第二步的合并查找列与结果列$D$3:$D$17,构建成一个新区域,作为vlookup函数的第2个参数;这里也能看出来,vlookup函数的第3个参数—列序数为2;

    最后:以组合键Ctrl+Shift+Enter结束输入,形成数据组公式,再向下向右填充即可。

    相关文章

      网友评论

        本文标题:详解:如何用vlookup函数实现多条件查找

        本文链接:https://www.haomeiwen.com/subject/ikviyttx.html