目前Excel多条件匹配的方法主要有三种:

SUMPRODUCT函数,SUMIFS函数(注意不是sumif),高级筛选功能

1.SUMPRODUCT()

在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

语法

SUMPRODUCT(array1,array2,array3, ...)

Array1, array2, array3, ...  为 2 到 255 个数组,其相应元素需要进行相乘并求和。

说明

  • 数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。
  • 函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理。

实例:

多条件匹配查询 Java 多条件匹配用什么函数_数组

不过今天我们使用的功能比它本身更有意思。首先原始数据和筛选需求数据如下:

多条件匹配查询 Java 多条件匹配用什么函数_数据区_02

多条件匹配查询 Java 多条件匹配用什么函数_Excel学习_03

使用sumproduct()函数

多条件匹配查询 Java 多条件匹配用什么函数_数据区_04

2.SUMIFS()

对某一区域内满足多重条件的单元格求和。

要点  SUMIFS 和 SUMIF 的参数顺序不同。具体而言,sum_range 参数在 SUMIFS 中是第一个参数,而在 SUMIF 中则是第三个参数。如果要复制和编辑这些相似函数,确保按正确顺序放置参数。

语法

SUMIFS(sum_range,criteria_range1,criteria1,criteria_range2,criteria2…)

Sum_range  是要求和的一个或多个单元格,其中包括数字或包含数字的名称、数组或引用。空值和文本值会被忽略。

Criteria_range1, criteria_range2, …  是计算关联条件的 1 至 127 个区域。

Criteria1, criteria2, …  是数字、表达式、单元格引用或文本形式的 1 至 127 个条件,用于定义要对哪些单元格求和。例如,条件可以表示为 32、"32"、">32"、"apples" 或 B4。

注解

  • 仅当 sum_range 中的每一单元格满足为其指定的所有关联条件时,才对这些单元格进行求和。
  • sum_range 中包含 TRUE 的单元格计算为 1;sum_range 中包含 FALSE 的单元格计算为 0(零)。
  • 与 SUMIF 函数中的区域和条件参数不同,SUMIFS 中每个 criteria_range 的大小和形状必须与 sum_range 相同。
  • 您可以在条件中使用通配符,即问号 (?) 和星号 (*)。问号匹配任一单个字符;星号匹配任一字符序列。如果要查找实际的问号或星号,请在字符前键入波形符 (~)。

示例:基于支付利息对银行帐户中的金额求和

多条件匹配查询 Java 多条件匹配用什么函数_Excel学习_05

8711的计算结果这里就不给出公式了,大家自己解开,下面的一个也不给出算式了。

多条件匹配查询 Java 多条件匹配用什么函数_Excel学习_06

3.高级筛选

使用数据

多条件匹配查询 Java 多条件匹配用什么函数_数据_07

筛选需求数据为

多条件匹配查询 Java 多条件匹配用什么函数_数据区_08

下面使用高级筛选功能进行多条件匹配,首先找到高级筛选

多条件匹配查询 Java 多条件匹配用什么函数_数据_09

弹出的对话框有两个区域,列表区域和条件区域。在列表区域把原始的数据选中,在条件区域把需求数据区域选中。

多条件匹配查询 Java 多条件匹配用什么函数_数据区_10

选中需求数据区域

多条件匹配查询 Java 多条件匹配用什么函数_数据_11

复制到某一个新的区域以便于查看匹配的结果

多条件匹配查询 Java 多条件匹配用什么函数_数据_12