zoukankan      html  css  js  c++  java
  • Excel:6种多条件查找方法

    如下图所示,要求根据设备分类和品牌来查找相应的销售数量。

    1. 使用VLOOKUP+辅助列进行多条件查找

    本例采用的方法是在原表的最前面加一辅助列,辅助列的公式为:=B2&C2

    然后再采用VLOOKUP进行如下查找:=VLOOKUP(F2&G2,A:D,4,0)

    这里所采用的方法其实就是把多条件进行合并,将其转换为单条件查找。

    2. VLOOKUP函数的数组多条件查找

    本例使用了数组公式:=VLOOKUP(E2&F2,IF({1,0},A2:A7&B2:B7,C2:C7),2,0)

    公式中的IF({1,0},A2:A7&B2:B7,C2:C7)是一个数组公式,它的返回值为:{"电脑ThinkPad",1760;"手机华为",2938;"iPad苹果",1731;"电脑苹果",1460;"手机三星",2039;"手机VIVO",1629},这其实也是把多条件通过内存数组合并为一个条件来进行查找。

    3. 使用SUM进行多条件查找

    SUM是求和公式,但在本例中用它来进行查找。

    这是一个数组公式:=SUM((A2:A7=E2)*(B2:B7=F2)*C2:C7),按CTRL + SHIFT +ENTER完成输入。

    这里是使用了数组公式的相乘功能来变相实现查找功能。数组公式中的(A2:A7=E2)*(B2:B7=F2)*C2:C7返回值为:

    {1;0;0;1;0;0}*{1;0;0;0;0;0}*{1760;2938;1731;1460;2039;1629},它们的返回值是1760。

    4. 使用SUMPRODUCT进行多条件查找

    SUMPRODUCT返回数组乘积之和,所用公式如下所示:

    =SUMPRODUCT((A2:A7=E2)*(B2:B7=F2)*C2:C7),它的实现原理和上面的SUM函数类似。

    5. LOOKUP的多条件查找

    LOOKUP的万金油查找公式完全可以实现多条件查找:=LOOKUP(1,0/((A2:A7=E2)*(B2:B7=F2)),C2:C7)

    6. VLOOKUP和CHOOSE函数组合

    VLOOKUP和CHOOSE函数组合为数组公式进行查询:=VLOOKUP(E2&F2,CHOOSE(TRANSPOSE(ROW(1:2)),A2:A7&B2:B7,C2:C7),2,0)

    输入CTRL + SHIFT + ENTER完成输入。

    TRANSPOSE形成一个"1行2列"的内存转置数组,里面的内容是:

    {"电脑ThinkPad",1760;"手机华为",2938;"iPad苹果",1731;"电脑苹果",1460;"手机三星",2039;"手机VIVO",1629}

    这也相当于变相将多条件转换为单条件,从而实现查询效果。

    综上几种方法,大都是利用函数转换的方法,将多条件查询转为单条件,从而实现查询功能。

  • 相关阅读:
    C#事件和委托的区别
    已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10()随机1~10
    如何搭建github+hexo博客-转
    ngRouter和ui-router区别
    JS数组追加数组采用push.apply的坑(转)
    vue中关于computed的一点理解
    simplify the life ECMAScript 5(ES5)中bind方法简介
    github使用-知乎的某小姐的一篇文章
    Jade 模板引擎使用
    玩转Nodejs日志管理log4js(转)
  • 原文地址:https://www.cnblogs.com/zhaoshujie/p/10107345.html
Copyright © 2011-2022 走看看