如何在Excel中从不同的数组中匹配多个标准

  • Share This
Hugh West

如果你正在寻找Excel中不同数组中的多个标准的答案或一些独特的技巧,那么你就来对地方了。 在Excel中从不同的数组中匹配多个标准有多种方法。 本文将通过适当的例子引导你完成每一个步骤。 因此,你可以轻松地使用它们来达到你的目的。 让我们进入文章的主要内容讨论。

下载实践工作手册

你可以从下面下载我在本文中使用的工作手册,自己用它来练习。

匹配不同数组中的多个标准.xlsx

在Excel中从不同数组中匹配多个标准的6种方法

在本节中,我将向你展示在Windows操作系统中,在Excel中从不同的数组中匹配多个标准的6种快速而简单的方法。 本文包含详细的解释,并有清晰的插图。 我使用了 微软365版本 然而,你可以根据你的情况使用任何其他版本。 如果本文的任何部分在你的版本中不工作,请留下评论。

在这个数据集中,我试图提供一个真实的例子。 这个数据集包含一些服装产品的信息。 它有四列,分别是 产品名称 ,在 颜色 ,在 尺寸 ,以及 价格 正如你在下面的图片中所看到的。

1.使用阵列公式与INDEX和MATCH函数

在这里,我已经取来了 价格 的。 产品 ( 细胞B11 ) 基于产品的 命名 , 颜色。 尺寸。

📌步骤。

  • 为此,首先插入 产品名称 , 颜色 尺寸 在细胞中 G5 , G6 , G7
  • 然后,在单元格中插入以下公式 G8 以获得 价格 为符合这些标准的产品。

=IFERROR(INDEX(E5:E20,MATCH(1,(G5=B5:B20)*(G6=C5:C20)*(G7=D5:D20),0)),"No Match")

🔎 公式分解。

乘法运算 :

→ (G5=B5:B20)*(G6=C5:C20)*(G7=D5:D20)= (衬衫=产品栏)*(靛蓝=颜色栏)*(L=尺寸栏) ={假;假;假;假;假;假;假;真;真;真;真;真;假;假}*(g6=c5:c20)*(g7=d5:d20)}。

它将搜索相应列的值,并根据它返回TRUE/FALSE值。

→ {0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0}

ǞǞǞ 乘法运算符(*)。 将这些数值转换为0和1,然后进行乘法运算,将所有其他数值转换为0,除了所需的输出。

MATCH功能 运作 :

→ match(1,(0;0;0;0;0;0;0;0;0;1;0;0;0),0)) → 13

该函数在转换后的范围内寻找数值1,并返回该位置。

INDEX功能 运作 :

→ IFERROR(INDEX(E5:E20,13), "No Match" ) → 50

这个函数返回在 第13行 对于没有匹配的情况,则以 "价格 "一栏为例。 索引 函数将返回一个 #N/A 为了处理此类错误并显示可供人类阅读的信息," 不匹配 ",该 IFERROR函数 在此使用。

阅读更多。 Excel的INDEX MATCH有多个标准(4个合适的例子)

2.使用INDEX和MATCH函数的非数组公式

在这里,我尝试执行与之前相同的任务,公式也是一样的,只是多了一个 索引 函数和一个选定的非数组类型的 索引 功能。

📌步骤。

  • 为此,首先插入 产品 名称。 颜色。 尺寸 在各自的细胞中。
  • 然后,将以下公式插入到 细胞G8 以获得符合这些标准的产品的价格。

=IFERROR(INDEX(E5:E25,MATCH(1,INDEX((G5=B5:B25)*(G6=C5:C25)*(G7=D5:D25),0,1),0)),"No Match")

🔎公式解析。

这项新措施的主要目的是 索引 函数是将前面的数组公式转换为非数组公式 这样,不熟悉Excel数组函数的人也可以实现。 新的 索引 函数在乘法运算后处理返回的数组,不需要使用数组公式。

阅读更多。 Excel中的INDEX MATCH多条件匹配(无数组公式)。

类似读物

  • 在Excel中用3个标准进行索引匹配(4个例子)。
  • Excel中带有INDEX和MATCH函数的SUMIF
  • 在Excel中对多条行进行索引匹配求和(3种方法)
  • 在不同工作表中使用多个标准的索引匹配(2种方法)
  • 在Excel中使用INDEX、MATCH和COUNTIF函数的多重标准

3.Excel中不同水平和垂直数组的多个标准的INDEX MATCH公式

3.1 在列中垂直查询

除了上面描述的前几种方式外,你可以结合 索引 匹配 按照下面的步骤来做。

📌步骤。

  • 最初,点击 细胞C18 并插入以下公式。

=INDEX(D5:D14,MATCH(1,(B5:B14=C16)*(C5:C14=C17),0))

  • 随后,打 进入

因此,你可以为你想要的销售人员获得理想的结果。

3.2 在行中水平查询

你也可以把 索引 匹配 通过下面的步骤,可以用函数水平地查询多个标准。

📌步骤。

  • 首先,点击 细胞C10 .
  • 随后,插入以下公式并按下 进入

=INDEX(C6:L6,MATCH(1,(C4:L4=C8)*(C5:L5=C9),0))

因此,你可以通过横向查询获得所需人员的部门。

4.INDEX MATCH公式用于匹配不同Excel表中数组的多个标准

考虑一个情况,你在一个商业农场工作。 你的老板给你一个任务,你必须从另一个工作表中找到不同销售代表的销售金额。 你可以通过使用 指数匹配 公式。

  • 在下面的例子中, "ID" , "名字" ,以及 "销售" 你必须找到你的工作。 "销售" 对于一个特定的 "ID" 和一个特定的 "名字" 该工作表被命名为 "数据" .

  • 在一个新的工作表中制作另一个包含列的表格 "ID" , "名字" ,以及 "销售" 在这个新的工作表中,我们将找到结果。 将这个工作表命名为 "M01" .
  • 然后,在 "M01 "工作表的D5单元格插入以下公式。

=INDEX(Data!$D$5:$D$15,MATCH(1,('M01'! B5=Data!$B$5:$B$15)*('M01'! C5=Data! $C$5:$C$15),0))

  • 现在,对其余的单元格应用同样的公式。

  • 因此,你使用了多个标准从不同的工作表中找出一个值。

5.使用COUNTIFS函数匹配不同数组中的多个标准

我们可以用 COUNTIFS功能 在这种情况下,我们必须在Excel中使用 不同栏目的标准的逻辑和 同一列中标准的逻辑。

5.1 对多列中的多个标准使用AND逻辑

逻辑意味着所有的条件都应该被匹配以得到真实的值。 在这里,我计算了基于 命名 , 颜色 ,以及 尺寸 标准。

📌步骤。

  • 首先,插入 产品 , 颜色 ,以及 尺寸 范围内的各个单元格中的 F5:F7 .
  • 然后,在以下公式中插入 细胞F8 来获得符合给定条件的单元格的数量。

=COUNTIFS(B5:B20,F5,C5:C20,F6,D5:D20,F7)

🔎 公式分解。

=COUNTIFS(B5:B20,F5,C5:C20,F6,D5:D20,F7) → COUNTIFS(Product Column, Shirt, Color Column, Indigo, Size Column, L) → 1

  • 它在相应的列中搜索数值,如果所有标准都匹配,则增加计数。
  • 只有一列是所有条件都符合的。 因此,它是理想的输出。

  • 因此,你有符合不同数组所给标准的单元格计数。

阅读更多。 在Excel的行和列中索引匹配多个标准

5.2 同一列中多个标准的OR逻辑

逻辑意味着,如果一个标准匹配,则 为真 这里,我计算了颜色值为""的总行数。 红色 "和" 黄色 ".

要做到这一点,请在以下公式中插入 细胞F4 来获得符合给定条件的单元格的数量。

=SUM(COUNTIFS(C5:C20,{"红", "黄"}))

🔎 公式分解。

→ SUM(COUNTIFS(C11:C31,{"红", "黄"})) → SUM(COUNTIFS(Color column,{"Red", "Yellow"}))

COUNTIFS功能 搜索相应列中的值,如果有任何标准被匹配,则增加计数。 由于有三个 "红色 "和三个 "黄色",这就是为什么 COUNTIFS 函数返回3,3。

→ SUM(3,3) → 6

ǞǞǞ SUM函数 将两个值相加,并返回所需的输出。

  • 因此,我计算了红色和黄色产品的总量。

阅读更多。 在Excel的多个标准下用INDEX-MATCH函数求和

6.使用滤波功能

顾名思义,就是 滤波功能 根据某些标准过滤一个单元格区域。 你不需要为这种方法编写带有多个函数的公式。 只有 筛选器 函数就可以进行操作了。 在这里,我已经获取了 价格 的。 产品 ( 细胞B11 ) 基于产品的 命名 , 颜色。 尺寸。

📌步骤。

  • 首先,插入 产品 , 颜色 ,以及 尺寸 范围内的各个单元格中的 F5:F7 .
  • 然后,在单元格中插入以下公式 F8 以获得符合所有标准的产品的价格。

=FILTER(E5:E20,(B5:B20=G5)*(C5:C20=G6)*(D5:D20=G7),"No Match")

🔎 公式分解。

乘法运算。

→ (B5:B20=G5)*(C5:C20=G6)*(D5:D20=G7) =(产品栏=衬衫)*(颜色栏=靛蓝)*(尺寸栏=L) = {false;false;false;false;false;false;true;true;true;true;false;false}*(c5:c20=g6)*(d5:d20=g7)}。

它将搜索相应列的值并返回 真/假 根据它的价值。

→ {0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0}

ǞǞǞ 乘法运算符(*)。 将这些数值转换为0和1,然后进行乘法运算,将所有其他数值转换为0,除了所需的输出。

✅ FILTER功能。

→ FILTER(E14:E34,{0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0},”No Match”) = FILTER(PriceColumn {0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0}, "No Match") = 50

ǞǞǞ 筛选器 函数用索引号搜索Price列,并返回相应索引值为1的单元格值,在本例中为50。

  • 因此,我已经计算出符合所给多个标准的产品的价格。

请注意。

截至写这篇文章时, 筛选器 因此,如果你使用其他版本的Excel,那么你应该检查其他方法。

总结

在这篇文章中,你已经找到了如何在Excel中从不同的数组中匹配多个标准。 我希望你能找到解决问题的方法。 如果你有任何建议或问题,请留下评论。 谢谢你。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.