Table of contents
在Microsoft Excel中,有几个选项可以 VLOOKUP并返回多个值 虽然 VLOOKUP 函数本身不能横向返回多个值,你将在本文中通过适当的插图来了解替代选项。
下载实践工作手册
你可以下载我们用来准备这篇文章的Excel工作簿。
VLOOKUP横向返回多个数值.xlsx2种VLOOKUP和水平返回多个值的方法
ǞǞǞ VLOOKUP 函数在表格的最左边一列中寻找一个值,然后从指定的列中返回同一行中的一个值。 你不能通过使用VLOOKUP函数一次提取多个值。 如果你向下拖动输出单元格以产生以下结果,你会得到一些数据的重复值。 而且,毕竟你无法在水平方向上显示提取的数据,只有的 VLOOKUP 功能 因此,我们可以在Excel电子表格中应用两种方法来达到我们的目的。
1.使用INDEX、SMALL和IF函数进行VLOOKUP并水平返回相应的值
在下图中,表格代表了一些智能手机型号及其品牌名称。 由于它们的顺序是随机的,我们将提取特定品牌的型号名称并在一行中横向显示。
例如,我们想在以下内容中显示智能手机品牌--三星的型号名称 第16行 .
📌 步骤1。
➤ 中要求的公式 细胞C16 将是。
=index($c$5:$c$14, small(if($b$16=$b$5:$b$14,row($b$5:$b$14)-row($b$5)+1), column(a1) )
➤ 在按下 进入 ,你会从表中得到三星的第一个型号名称。
📌 第2步。
➤ 现在使用 填充手柄 从 细胞C16 并将其向右拖动,沿着 第16行 直到一个 #NUM 出现错误。
➤ 跳过第一个 #NUM 错误,并在包含错误的单元格前停止自动填表。
而你将会在给定的表格中横向显示所有三星智能手机的型号名称。
🔎 这个公式是如何工作的?
- 行($b$5:$b$14)-行($b$5)+1。 这一部分被分配给第二个参数 ([value_if_true]) 的。 基金会 它定义了单元格范围内所有可用数据的行号 B5:B14 并返回以下数组。
{1;2;3;4;5;6;7;8;9;10}
- if($b$16=$b$5:$b$14, row($b$5:$b$14)-row($b$5)+1) 。 公式的这一部分只匹配三星设备的标准。 如果发现匹配,公式将返回透视的行号,否则,将返回 失败 因此,这个公式的总体返回数组将是。
{1;false;3;false;5;6;false;false;9;false}。
- small(if($b$16=$b$5:$b$14, row($b$5:$b$14)-row($b$5)+1), column(a1)) : small 函数在这里提取从上一步找到的最低或最小的行号,并将其定义为第二个参数 (row_num) 的。 索引 功能。
- 最后,整个公式和组合公式提取了三星设备的第一个型号名称,从 C列 .
阅读更多。 在Excel中使用多条件的VLOOKUP(6种方法+替代方法)
类似读物
- VLOOKUP不工作(8个原因& 解决方案)
- 为什么VLOOKUP在存在匹配时返回#N/A? (5个原因& 解决方案)
- Excel VLOOKUP垂直地返回多个数值
- Excel VLOOKUP返回一个单元格中由逗号分隔的多个值
2.VLOOKUP和从Excel的数据序列中横向返回多个值
现在让我们考虑另一种情况。 在下表中。 B栏 有两个智能手机品牌的排列顺序。 像以前一样,我们将提取一个特定品牌的型号名称,但使用不同的公式。 而且这个公式只适用于连续的数据范围。 如果品牌名称是随机的,如上一节所示,那么这个公式就不会适当地工作。
例如,我们将只提取小米智能手机的型号名称,并将其横向显示在 第16行 .
📌 步骤1。
➤ 在输出中 细胞C16 ,所需的公式将是。
=IF(COLUMN()-2<=COUNTIF($B$5:$B$14,$B16), INDEX($C$5:$C$14,MATCH($B16,$B$5:$B$14,0)+COLUMN()-3), "")
➤ 新闻 进入 你就会马上显示出小米的第一个智能手机型号名称。
📌 第2步。
➤ 现在使用 填充手柄 沿途自动向右填充 第16行 直到出现一个空白单元格。
然后你将会看到所有选定品牌的型号名称,就像下面的截图一样。
🔎 这个公式是如何工作的?
- match($b16,$b$5:$b$14,0)。 ǞǞǞ 匹配 的函数。 索引 函数返回包含名字的单元格的第一行编号--小米。
- match($b16,$b$5:$b$14,0)+column()-3: 这一部分是 索引 函数,该函数定义了将寻找第一个结果数据的行号。
- index($c$5:$c$14, match($b16,$b$5:$b$14,0)+column()-3) 。 这一部分是IF函数的第二个参数 ([value_if_TRUE]) 其中,根据上一步找到的行号,提取第一个输出数据。
- 如果没有找到匹配,则 基金会 函数将返回一个空白单元格。
💭注意。 为了正确地用这个公式返回数据,你必须从以下方面启动表格 B栏 其中 B栏 将代表标准和 C列 你还必须在表格下方或上方的B列中定义所选标准,如我在第2页所示。 细胞B16 .
阅读更多。 INDEX MATCH与VLOOKUP功能的比较(9个例子)
结论性的话语
我希望上面提到的这两种方法现在能帮助你在Excel电子表格中应用它们,从表格中提取数据并在一行中水平显示。 如果你有任何问题或反馈,请在评论区告诉我。 或者你可以在本网站上查看我们与Excel函数有关的其他文章。