如何使用 Vlookup 处理多个类别或值2025年3月17日 | 阅读16分钟 众所周知,在 Microsoft Excel 中,当需要根据特定标识符(如 ID 或姓名)检索所有匹配值时,常用的 "VLOOKUP" 函数会显得不足,因为它只能返回找到的第一个匹配项。但是,有一个简单的替代方法,它基本上不需要深入的 Excel 公式知识,只需利用 Excel 的筛选和排序功能,用户就可以高效地提取所有匹配值,而无需复杂的公式。 然而,这个过程首先要根据标识符列对数据进行排序,并将相似的值分组在一起,从而有助于以有效的方式识别和管理它们。一旦数据排序完成,我们就需要将可用的筛选器应用于标识符列,这允许特定用户仅显示与所需值匹配的行,从而有效地隔离所有相关数据子集。在筛选数据可见的情况下,用户现在可以轻松地选择。他们可以从给定的相应列中复制所有匹配的值。 尽管如此,复制值就像单击并拖动光标以选择所需的单元格一样简单,然后右键单击以访问复制命令。然后可以将复制的值粘贴到工作表中的新位置,无论是不同的列、新的工作表,还是单独的 Excel 文件。这个直观的过程因此使其对所有技能水平的用户都易于访问,从初学者到高级用户。 而且,对于那些面临重复任务的人来说,创建宏提供了一种自动化的解决方案。宏主要允许特定用户记录一系列操作,并且还可以通过单击一次来重放它们。尽管如此,我们知道 Microsoft Excel 提供了强大的函数,例如 VLOOKUP,用于高效的数据分析,但像筛选和排序这样的简单方法通常就足够了,特别是对于检索多个匹配值的目的。只需遵循几个简单的步骤,用户就可以快速提取所需数据,而无需复杂的公式,从而使所有人都能更轻松地访问数据。 Microsoft Excel 中 Vlookup 函数的语法是什么?可以在 Excel 工作表中有效使用的 VLOOKUP 函数的语法如下 ![]() 在此语法中,该函数通常接受四个基本参数,它们是:
此外,在上述语法中,前三个参数被认为是强制的,而最后一个参数被认为是可选的。现在让我们深入研究这些参数以获取更具体的信息。
如何使用 Vlookup 处理多个条件?在使用 Microsoft Excel 中的 VLOOKUP 函数时,如果它在指定的范围内找到匹配值,那么它将停止搜索并返回相应的结果,即使数据集中有多个匹配项。 示例 1:Vlookup 处理多个匹配项,然后在特定列中返回结果。 假设我们在 A 列中拥有卖家的姓名,在 B 列中拥有已售出的产品名称。A 列包含每个卖家的几个条目。在此示例中,我们的主要目标是仅获取由特定人员已售出的所有产品的列表。为此,我们需要遵循以下步骤: 1. 首先,我们需要在一个或另一个工作表中的一些空白行中输入唯一名称列表。在此特定示例中,名称主要输入在单元格 D2:G2 中。 ![]() 重要提示:为了快速获取列表中的所有不同名称,我们可以在 Microsoft Excel 365 中使用 UNIQUE 函数,或者使用更复杂的公式来提取旧版本中的不同值。2. 在第一个名称下方,我们需要选择与最大可能匹配数相等或大于其数量的空白单元格,然后我们需要在一个数组公式输入到相应的公式栏中,然后按快捷键 Ctrl + Shift + Enter 来完成(在这种情况下,我们只能在输入公式的整个范围内编辑该公式)。 或 正如我们所见,第一个公式更紧凑,而第二个公式更通用,并且需要更少的修改(我们将进一步详细阐述语法和逻辑)。 3. 现在,在此步骤中,我们需要将所有选定的公式复制到其他列。对于这个特定部分,我们将选择我们需要输入公式的单元格范围,然后我们需要拖动填充柄(它是选定范围右下角的一个小方形框)向右拖动。 在应用了上述步骤后,我们将看到以下输出: ![]() 这个公式是如何工作的? 众所周知,这主要是 Microsoft Excel 中中级到高级用户的示例,它主要确定了数组公式以及 Microsoft Excel 中可用的各种函数的基本知识。从内部开始,这是我们实际所做的:
通常,在公式的核心,我们可以最终使用 IF 函数来获取查找值在查找范围中的所有出现的位置。 IF(D$2=$A$3:$A$13, ROW($B$3:$B$13)-2,"") IF 函数在此部分将单元格 (D2) 中的查找值与查找范围(主要范围从单元格 A3:A13)中的每个值进行比较,如果找到匹配项,则返回行的相对位置;否则返回空字符串 ("")。 然而,行的相对位置是通过从 ROW ($B$3:$B$13) 中减去 2 来计算的,以便第一行具有位置 1。如果我们的返回范围从第二行开始,那么我们必须减去 1,然后继续。此操作的结果是数组 {1;2;3;4;5;6;7;8;9;10;11},它进入 IF 函数的 value_if_true 参数。 除了上述计算,我们现在可以使用此表达式:ROW(lookup column)- MIN(ROW(lookup_column))+1,它返回相同的结果,但无需进行任何更改。在此特定示例中,它将是 ROW ($A$3:$A$13)- MIN(ROW($A$3:$A$13))+1。 现在,在这一点上,我们需要一个主要由数字(匹配项的位置)和空字符串(位置非匹配项)组成的数组。在此示例的单元格 D3 中,我们有以下数组: ![]() 现在,如果我们检查源数据,我们将看到 "Adam"(单元格 D2 中的查找值)主要出现在查找范围 (A3:A13) 的第 3、8 和第 10 个位置,分别。
接下来,主要的 SMALL (array, k) 函数用于确定在特定单元格中应该返回哪个匹配项。 在已经建立的数组中,让我们来处理 k 参数,该参数被认为是需要返回的最小值。为了有效地实现这一点,我们可以使用 "增量计数器" ROW ()-n,其中 "n" 是第一个公式单元格的行号减 1。尽管如此,在此特定示例中,我们现在已将公式输入到单元格 D3:D7 中,因此 ROW ()-2 对于单元格 D3(第 3 行减 2)返回 "1",对于单元格 D4(第 4 行减 2)返回 "2",依此类推。 输出是,SMALL 函数通常在单元格 D3 中提取数组的第一个最小元素,在单元格 D4 中提取第二个最小元素,依此类推。这将把最初冗长而复杂的公式变成一个非常简单的公式,如下所示: ![]() 重要提示:现在,要查看公式的某个部分背后的计算值,我们需要在公式栏中选择该特定部分,然后按键盘上的函数键 F9。
注意。应注意绝对和相对单元格引用在公式中的正确使用。并且所有引用主要是固定的,除了查找值中的相对列引用,该引用必须根据列的数量和相对位置进行更改。# 示例 2:使用 Vlookup 处理多个值 对于这个特定的例子,让我们假设我们拥有我们各自公司 "GURUKUL" 的员工数据。数据包含 "姓名"、"当前薪水"、"部门" 和 "ID",如下图所示。 ![]() 在这里,我们主要想通过特定的姓名和相应的部门来查找员工。尽管如此,特定搜索将包括两个详细信息,即 "姓名" 和 "部门"。要查找的姓名和部门分别在单元格 G6 和 G7 中给出。 ![]() 现在,如果我们想搜索名为 "Urmila" 且在 "Sales" 部门工作的员工,为了实现这一点,首先,我们需要创建一个单独的列,其中包含在该公司工作的每位员工的 "姓名" 和 "部门"。为此,对于第一个员工,我们可以使用 Excel VLOOKUP 公式: = C2 & D2。 ![]() 现在,在那之后,我们需要从键盘上按 "Enter" 键。单元格将包含 "Manish IT"。将此列添加到数据最左侧非常重要,因为数组范围的第一列被用于查找。现在,我们需要将其有效地拖动到其余单元格。 ![]() 为了查找单元格 G6 和 G7 中给出的员工 "Urmila" 和 "Sales" 的值,那么在这种情况下,我们现在使用 Microsoft Excel VLOOKUP 公式: = VLOOKUP (H6 & H7, A2:E21, 5, FALSE) ![]() 它将返回查找的员工 Urmila 在销售部门的薪水。 ![]() # 示例 3 现在,让我们假设我们有过去 12 个月购买的两种不同商品的销售数据,如下表所示。 ![]() 在这里,我们实际上想在 Excel 中创建一个查找表,其中我们必须输入 "月份" 和 "商品 ID"(在此情况下为商品 1 和商品 2),然后该表将分别返回该特定商品在该特定月份的销售额。 ![]() 为了轻松实现这一点,我们现在使用 Excel 中的 VLOOKUP 和 Match 函数: = VLOOKUP (F4, A3:C14, MATCH (F5, A2:C2, 0), 0) 通常,我们想要查找的月份主要在单元格 F4 中,而要查找的商品名称在单元格 F5 中。 ![]() 在此特定示例中,我们将获得 21,000 的输出。 ![]() # 示例 4 在此示例中,让我们假设我们拥有在一年中四个不同城市区域销售的一件商品的销售数据。此数据表在下面的图片中已显示。 ![]() 现在,如果我们想检查 "东区" 销量最高的那个月是否也是 "西区" 销量最高的那个月。为了检查这一点,首先,我们需要使用一个附加列,其中包含东区和西区的销售额。在这种情况下,我们希望使用键盘上的空格键分隔值。 尽管如此,如果我们想在工作表的左侧添加一个附加列,那么我们可以使用 Excel VLOOKUP 公式: = D3 & ""& E3。 ![]() 对于表格的第一个单元格,我们需要从键盘上按 "Enter" 键。然后,我们需要将其有效地拖动到其余单元格。 ![]() 之后,我们需要分别计算 "东区" 和 "西区" 的最大销量。为了计算最大值,我们现在也可以使用 Excel VLOOKUP 公式: = MAX (D3:D14) 用于东区 ![]() = MAX(E3:E14) 分别用于西区。 ![]() 现在,如果我们想检查 "东区" 销量最高的那个月是否也是 "西区" 销量最高的那个月,我们也可以轻松使用以下公式: = IFERROR (VLOOKUP ( J4 &" " & J5, B3:C14, 2, 0), "NO") ![]() VLOOKUP ( J4 &" & J5, B3:C14, 2, 0) 将自动在附加列中搜索最大的 "东区" 和 "西区" 值。如果找到匹配项,它将返回相应的月份。否则,它将产生错误。 IFERROR ((VLOOKUP(..)), "NO"):如果 VLOOKUP 函数的输出是错误,它将返回 "NO",否则。它将返回相应的月份。 由于不存在这样的月份,让我们检查一下 "东区" 销量最高的那个月是否是 "西区" 销量第二高(次高)的月份。首先,使用以下公式计算 "西区" 的第二高销量: = LARGE(E3:E14, 2) ![]() 现在,使用语法:=IFERROR (VLOOKUP(K4&" "&K5, B3:C14, 2, 0), "NO")。 ![]() 它将返回 "June"(六月)。 ![]() 非常重要的是要注意,可能有一个以上的月份 "东区" 和 "西区" 的销量都最高,但 Excel VLOOKUP 公式只会返回其中一个月份。 列出在 Microsoft Excel 中使用 VLOOKUP 处理多个条件或值的优点。众所周知,在处理多个条件或值时使用 VLOOKUP 具有各种显著的优势,可以极大地增强我们的数据管理和分析任务。所以,让我们以更简单的术语分解所有这些好处。 1. 提高准确率: VLOOKUP 就像一个搜索工具。当我们在线搜索数据时,搜索词越具体,结果就越准确。同样,通过在 VLOOKUP 中使用多个条件,我们提供了更多关于我们正在寻找的内容的详细说明。这将帮助我们减少获得不正确和不相关信息的可能性。 2. 数据搜索的灵活性: 假设我们正在商店中搜索一件特定商品,但我们不只是寻找任何商品;我们想要一件满足特定标准的商品,例如特定的颜色和尺寸。具有多个条件的 VLOOKUP 函数的工作方式类似。尽管如此,它允许我们通过组合不同的条件来精确指定我们正在寻找的内容。因此,您可以找到满足各种要求的数据点,即使它们分布在不同的列或不同的类别中。 3. 动态数据检索: 您是否曾经因为初始条件可能已略有更改而不得不重新执行特定搜索?通过 VLOOKUP 和多个条件,您可以轻松避免这种麻烦。通常,此功能有助于我们设置特定的搜索,以自动适应更改。因此,如果我们的要求发生变化或数据集更新,我们的 VLOOKUP 公式仍然可以找到正确的信息,而无需每次手动调整。 4. 效率: 众所周知,手动搜索海量数据集就像大海捞针,既耗时又费力。具有多个条件的 VLOOKUP 就像拥有一个超级搜索引擎,可以在几秒钟内筛选出大量数据并准确提取我们需要的内容。这将为我们节省大量时间和精力,从而使我们能够有效地专注于其他重要任务。 5. 增强分析: 在某些情况下,我们需要深入挖掘数据以发现见解或趋势。对于这种情况,使用多个条件或值的 VLOOKUP 可以使我们能够有效地完成任务,我们可以交叉引用各种条件以执行更复杂的操作,这就像拥有一台放大镜来查看选定的数据,使我们能够放大那些可能被忽视的特定模式。 然而,有效使用具有多个条件的 VLOOKUP 函数更像是拥有一个多功能且高效的数据相关任务助手,它将帮助我们快速准确地找到正确的信息,无缝适应变化,并发现可用于指导我们决策过程的宝贵见解。 列出在 Microsoft Excel 中使用 VLOOKUP 处理多个条件或值的缺点?在 Microsoft Excel 中使用 VLOOKUP 处理多个条件或值的各种缺点如下:
下一个主题如何在 Excel 中调整单元格大小 |
我们请求您订阅我们的新闻通讯以获取最新更新。