zoukankan      html  css  js  c++  java
  • 【Excel】多条件查找

    例如下图:要求在单元格从C10中根据分类与名称找出相应的数量

    image

    1.VLOOKUP函数(数组公式)

    {=VLOOKUP(A10&B10,IF({1,0},A2:A6&B2:B6,C2:C6),2,0)}

    原理使用if{1,0}构造了数据


    2.LOOKUP函数

    =LOOKUP(1,0/(A10=A2:A6)*(B10=B2:B6),C2:C6)

    原理:用lookup(1,0/(条件) 结构完成查找


    3.SUM函数(数组公式)------有限制

    {=SUM((A10=A2:A6)*(B10=B2:B6)*C2:C6)}

    注意:用多条件求和的方法实现查找,前提是不能有重复的行和查找的内容为数字。


    4.SUMIFS函数----有限制

    =SUMIFS(C2:C6,A2:A6,A10,B2:B6,B10)

    注意:用多条件求和的方法实现查找,前提是不能有重复的行和查找的内容为数字。


    5.SUMPRODUCT函数----有限制

    =SUMPRODUCT((A10=A2:A6)*(B10=B2:B6)*C2:C6)

    注意:用多条件求和的方法实现查找,前提是不能有重复的行和查找的内容为数字。


    6.MAX函数(数组公式)----有限制

    {=MAX((A10=A2:A6)*(B10=B2:B6)*C2:C6)}

    注意:前提是查找的内容为数字。


    7.MATCH+INDEX函数(数组公式)----有限制

    {=INDEX(C2:C6,MATCH(A10&B10,A2:A6&B2:B6,0))}

    注意:match函数支持数组,所以可以把区域直接连接起来,不过需要使用数组形式输入。


    8.OFFSET+MATCH函数(数组公式)

    {=OFFSET(C1,MATCH(A10&B10,A2:A6&B2:B6,0),)}

    注意:match函数支持数组,所以可以把区域直接连接起来,不过需要使用数组形式输入。


    9.INDIRECT+MATCH函数(数组公式)

    {=INDIRECT("C"&MATCH(A10&B10,A1:A6&B1:B6,0))}

    注意:match函数支持数组,所以可以把区域直接连接起来,不过需要使用数组形式输入。


    10.DGET函数

    =DGET(A1:C6,3,A9:B10)

    注意:Dget函数是数据库函数,可以用来条件查找。第3个参数必须是单元格区域作为条件引用。


    上述例子,我已经全部在Excel中验证完成,以下是Excel附件

    点击图标下载

    image

  • 相关阅读:
    String类的常用方法(P小写)
    二维数组:判断是否有目标数
    java实现输入年份判断在哪一天(正则表达式待改进)
    Java实现八进制正整数转化为十进制数
    时钟和定时器
    电路的频率响应---带宽的定义
    stm32两轮平衡车资料
    二阶常系数齐次线性微分方程的解法
    同步积分
    陀螺仪信号解调
  • 原文地址:https://www.cnblogs.com/OliverQin/p/10905943.html
Copyright © 2011-2022 走看看