在不同工作表中有多个标准的索引匹配公式

  • Share This
Hugh West

当处理一个大的数据数组时,你可能会发现自己处于这样一种情况:你需要找到一些独特的值或文本,但没有为此目的的特定标识符。 在这种情况下,使用带有几个条件的垂直或水平查询来寻找结果。 但专家用户通常不使用这些函数,而是应用 指数匹配 的组合。 索引 匹配 功能优于 VLOOKUP HLOOKUP 在许多方面。 指数匹配 公式可以通过以下方式查询数值 多重标准 今天,在这篇文章中,我们将学习一些在不同工作表中使用 具有多个标准的INDEX-MATCH公式 在不同的床单上。

下载实践工作手册

你可以下载以下Excel工作簿,以便更好地理解和自己练习。

应用NDEX-MATCH,在不同的工作表上使用多个标准.xlsx

在Excel的不同工作表中应用具有多个标准的INDEX MATCH公式的2种方法

ǞǞǞ INDEX-MATCH 当你在寻找具有以下特征的数据时,公式是相当有效的 列和行都有多个标准 在不同的工作表中,有两种不同的方法来查询具有多个标准的数据。 因此,让我们逐一探讨。

在这里,我们使用了 微软Excel 365 版本,你可以根据你的方便使用任何其他版本。

1.只针对列的多重标准的INDEX MATCH公式

为了说明问题,我们将使用一个 月度销售报告 该数据集包括 身份证 , 名字 和他们各自的 销售 在列 B , C ,以及 D 相应地。

考虑这样一个场景:你的老板分配给你的任务是计算出 销售 你可以通过使用这个工作表轻松地做到这一点。 INDEX-MATCH 你可以使用数组或非数组公式。 那么,让我们看看它们的作用。

1.1 使用阵列公式

在这种情况下,我们必须找到 销售 对于一个特定的 身份证 和一个特定的 名字 这个工作表被命名为" 数据集 " 现在,请仔细按照以下步骤操作。

📌 步骤。

  • 首先,在一个新的工作表中做一个数据范围,包含列 身份证 , 名字 ,以及 销售 在这个新的工作表中,我们将在下面找到结果。 D5:D7 范围。 将此工作表命名为 阵列 .

现在,我们将应用 INDEX-MATCH 公式来寻找 销售 数量。

通用的 INDEX-MATCH 有多个标准的公式如下。

=INDEX(return_range, MATCH(1, (criteria1=range1) * (criteria2=range2) * (...), 0)) 在哪里?

返回范围 是将被返回的值的范围。

标准1 , 标准2 ,...是需要满足的条件。

范围1 , 范围2 ,......是所需标准应被搜索的范围。

  • 这时,选择单元格 D5 并插入以下公式。
=INDEX(Dataset! $D$5:$D$15,MATCH(1,(Array! B5=Dataset! $B$5:$B$15)*(Array! C5=Dataset! $C$5:$C$15),0)) 在这里。
  • 返回范围 数据集!$D$5:$D$15 点击进入 数据集 工作表并选择数据范围。
  • 标准1 阵列!B5 ( M-01 ).
  • 标准2 阵列!C5 ( 汤姆 ).
  • 范围1 数据集!$B$5:$B$15 点击进入 数据集 工作表并选择 身份证 列。
  • 范围2 数据集!$C$5:$C$15 点击进入 数据集 工作表并选择 名字 列。
  • 查找_值 MATCH功能 1 如果数组中存在多个1的实例,则检索第一个结果的位置。
  • 匹配类型 0 .
  • 之后,按 进入 .

请注意。 由于这是一个数组公式,请确保你按 ctrl + shift + enter 而不是 进入 如果你使用的是Excel 365以外的任何版本,不要在公式周围加上大括号,Excel会自动将它们添加到数组公式中。 .

  • 目前,将光标移到单元格的右下角。 D5 实际上,它是 填充手柄 工具。
  • 因此,双击这个。

  • 因此,它将公式复制到下面的单元格,你也会在这些单元格中得到结果。

阅读更多。 如何在Excel中选择特定数据(6种方法)

1.2 不使用阵列公式

我们可以在不使用数组公式的情况下进行前面的案例。 让我们看看如何做。

📌 步骤。

  • 首先,像前面的例子一样做一个表格。

在这里,我们将使用非数组的 INDEX-MATCH 我们先看看它的一般形式。

INDEX(return_range, MATCH(1, INDEX((criteria1=range1) * (criteria2=range2) * (..), 0, 1), 0)
  • 第二,进入细胞 D5 并输入以下公式。
=INDEX(Dataset! $D$5:$D$15,MATCH(1,INDEX(('Non Array'! B5=Dataset! $B$5:$B$15)*('Non Array'! C5=Dataset! $C$5:$C$15), 0,1), 0)) 在哪里?
  • 返回范围 数据集!$D$5:$D$15 点击进入 数据集 工作表并选择数据范围。
  • 标准1 '非阵列'!B5 ( L-02 ).
  • 标准2 '非阵列'!C5 ( 蔷薇 ).
  • 范围1 数据集!$B$5:$B$15 点击进入 数据集 工作表并选择 身份证 列。
  • 范围2 数据集!$C$5:$C$15 点击进入 数据集 工作表并选择 名字 列。
  • 查找_值 MATCH功能 1 .
  • 匹配类型 0 .
  • 然后,按 进入 键来获得结果。

阅读更多。 Excel索引 匹配单个/多个标准与单个/多个结果

类似读物

  • Excel INDEX MATCH If Cell Contains Text
  • 在Excel中用3个标准进行索引匹配(4个例子)。
  • Excel INDEX MATCH返回一个单元格中的多个值
  • 在Excel中用通配符进行索引匹配的多重标准(完整指南)。
  • [修复!]在Excel中INDEX MATCH没有返回正确的值(5个原因)。

2.带有行和列的多个标准的INDEX MATCH公式

其独特的特点之一是 INDEX-MATCH 我们现在就来看看。

让我们考虑一下,你的老板刚刚给了你一个数据集,里面有 命名 , 身份证 的一些销售与 销售 的月份 , , 5月 , 7月 9月 这个工作表的名称是" 数据集2 ".

目前,你必须要找到 销售 让我们跟随我们。

📌 步骤。

  • 最初,在不同的工作表中构建另一个包含列的表格 命名 , 身份证 , 月份 然后,将此表命名为 行-列 你必须检索出 销售 使用给定的标准。

因此,我们必须应用 INDEX-MATCH 这个公式的格式如下:在这个工作表中有多个标准。

=INDEX(table_array, MATCH(vlookup_value, lookup_column, 0), MATCH(hlookup_value1 & hlookup_value2, lookup_row1 & lookup_row2, 0)
  • 然后,转到单元格 E5 并调用 INDEX功能 .
=INDEX(
  • 之后,导航到" 数据集2 "张。

  • 之后,选择 表_数组 这就是 C5:G19 的范围内。 数据集2 工作表。

  • 接下来,像下面这样完成完整的公式。
=INDEX(Dataset2!$C$6:$G$20,MATCH('行-列'!B5,Dataset2!$B$6:$B$11,0),MATCH('行-列'!C5&'行-列'!D5,Dataset2!$C$4:$G$4& Dataset2;$C$5:$G$5,0) 在哪里?
  • vlookup_value '行-列'!B5 ( K-01 ). 查询栏 数据集2!$B$6:$B$11 .
  • hlookup_value1 '行-列'!C5 ( 汤姆 ).
  • hlookup_value2 '行-列'!D5 ( 5月 ).
  • lookup_row1 数据集2!$C$4:$G$4 .
  • lookup_row2 数据集2!$C$5:$G$5 .
  • 匹配类型 0 .

因此,我们可以在下面的图片中看到选定的行和列。

  • 最后,按 进入 .

  • 此外,使用 填充手柄 工具,以在该列的下部单元格中获得完整的结果。

如何对日期范围应用具有多个标准的INDEX MATCH公式

我们可以提取某一产品在某一特定日期的价格。

在这里,我们有一个产品列表,其中有它们的开始和结束时间以及它们相应的单价。

假设我们想看到一个 冰淇淋 关于 02-10-22(月-日-年) 如果给定的日期在提供的时间段内,我们将在任何空白单元格中提取价格。 因此,不再拖延,让我们看看如何做到这一点。

📌 步骤。

  • 首先,建立一个输出范围,在 D19:D21 在此,我们选择为其寻找 3 产品。 你可以根据你的需要进行定制。

  • 其次,去细胞 D19 并输入以下数组公式。
=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=B19)*($D$5:$D$16>=C19)*($C$5:$C$16<=C19)),0))
  • 之后,点击 进入 .

我们可以看到一个 #N/A错误 在细胞中 D21 因为单元格中的日期 C21 不在数据集的描述期内。

如果你想知道更多关于这个主题的技术和例子,你可以阅读文章 如何使用INDEX MATCH的多个日期范围的标准 .

多个标准的INDEX MATCH的智能替代方案

如果你是 办公室365 ,只有这样你才有资格获得这个函数的好处。 现在,我们将使用 滤波功能 因此,为了实现这一目标,请遵守以下准则。

📌 步骤。

  • 首先,创建一个工作表,如 方法一 .
  • 然后,选择单元格 D5 并插入以下公式。
=FILTER(Dataset!$D$5:$D$15,(Dataset!$B$5:$B$15=Alternative!B5)*(Dataset!$C$5:$C$15=Alternative! C5))

因此,这个公式比以前的公式更容易应用和理解。 如需解释,请到 带有多个标准的索引匹配 文章。

  • 第二,按 进入 钥匙。

速记

⏩ 该 指数匹配 通常是一个数组公式。 因此,你必须按 ctrl+shift+enter 而不是 进入 来获得结果。

⏩ 如果你想对其余的单元格应用同样的公式,记住要用绝对的单元格引用来冻结数据范围( $ ).只需按下 F4 以将其应用于公式。

总结

这篇文章解释了如何使用 指数匹配 此外,不要忘了下载 "中国的世界"。 实践 文件。 感谢您阅读本文,希望对您有所帮助。 如果您有任何疑问或建议,请在评论区告诉我们。 请访问我们的网站。 优秀 探讨更多内容,请访问一站式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.