EXCEL,多条件查询数字/文本内容的4种方法

目录

1 问题:如何根据多条件查询到想要的内容

2 方法总结

2.1 方法1: sumif() 和sumifs() 适合查找符合条件的多个数值之和

2.2  方法2:使用lookup(1,0/((区域1=条件1)*(区域2=条件2)*....),结果查询区域) 

2.3 方法3:使用 index()+match()+数组公式

2.4  方法4:vlookup()+if()+数组公式


1 问题:如何根据多条件查询到想要的内容

  • 比如下面的问题
  • 需要同时根据3个条件来查询,其他列D,E的内容
  • 一般情况下,match(), vlookup都只能支持单条件查询

EXCEL,多条件查询数字/文本内容的4种方法_第1张图片

2 方法总结

下面的数组公式其实尽量不要直接用整列,算起来会有点慢,锁定要查的列的上下限更节省一些

如果是需要查询符合条件的多个数字之和

  • 使用sumif()  sumifs() 可查询和汇总数字,支持汇总多条符合条件的数据之和。
  • 使用sumif()  sumifs() 无法查询文本,会返回0

如果是需要查询符合条件的 数字/文本string,有且只有1个

  • 使用lookup(1,0/(),range()) 
  • 使用match(条件1&条件2&条件3,区域1&区域2&区域3,0)
  • 使用vlookup(条件1&条件2&条件3,if({1,0},区域1&区域2&区域3,结果区域, 偏移列数, false)

2.1 方法1: sumif() 和sumifs() 适合查找符合条件的多个数值之和

  • sumifs() 只适合查找数字,
  • 查数值不光可以查1个数据,还可以汇总多个符合条件的数据之和
  • 但是不适合查找文本字符串类型的内容,查找文本只会返回0

2.2  方法2:使用lookup(1,0/((区域1=条件1)*(区域2=条件2)*....),查询区域)结果查询区域) 

  • 这个要特别注意,1,0的用法
  • lookup(1,0/((区域1=条件1)*(区域2=条件2)*....),结果查询区域)
  • 要注意,分母的多个条件是要大括号括起来一起
  • 要注意,分母的多个条件是要相乘的关系
  • 原理解释
  • 符合条件的分目为1,0/1=0,而不符合条件的分母为0,0/0

EXCEL,多条件查询数字/文本内容的4种方法_第2张图片

2.3 方法3:使用 index()+match()+数组公式

  • 也使用了辅助列的方法
  • &&&可以直接做辅助列,和被查询多列作为区域

EXCEL,多条件查询数字/文本内容的4种方法_第3张图片

2.4  方法4:vlookup()+if()+数组公式

  • 神奇之处,在于用了if({1,0},区域1,区域2)
  • 因为{1,0}是个数组,而if({1,0},区域1,区域2) 就表示多个区域的组合,这样可以任意组合任何区域!
  • 公式IF({1,0,0},A:A&B:B&C:C,E:E),2 中{1,0,0}是个数组,
    也就是让if执行3次,然后再吧这次的结果加起来形成一个新的区域
    IF({1,0,0} 必须第1个是1,因为要以查询的index区域开始向右查询,这个是vlookup的特性
    然后后面的数字2,3是指vlookip要便宜的列数量,这个需要对应{1,0,0}来
    比如对于{1,0,0},前面1列是合并后的A&B&C列,而第2,3列都是E列
    比如对于{1,1,0},前面1列是合并后的A&B&C列,而第2也是是合并后的A&B&C列,只有第3列都是E列
     

EXCEL,多条件查询数字/文本内容的4种方法_第4张图片

你可能感兴趣的:(excel)