031

本文将讨论如何从表中获取所有值并在不同的单元格中检索它们。这类似于查找多个值。

通用公式

{=INDEX(names,SMALL(IF(groups=group_name,ROW(names)-MIN(ROW(names))+1),COLUMNS(expanding ranges))), “--List Ends--”)}

函数和变量太多!让我们看看这些变量是什么。

名称:这是名称列表。

组:这些名称也属于的组列表。

Group_name:组名的引用。

示例:根据他们的公司在不同的列中提取员工的姓名。

030

假设您有一个按员工所属公司分组的员工表。第一列包含员工姓名,第二列包含公司名称。

现在,我们需要根据他们的公司在不同的列中获取每个员工的姓名。换句话说,我们需要将它们取消分组。

在这里,我将A2:A10命名为Employee,将B2:B10命名为Company,因此公式很容易阅读。

在F2中编写此数组公式。使用CTRL + SHIFT + ENTER输入此公式。

{=INDEX(Employee,SMALL(IF(Company=$E2,ROW(Employee)-MIN(ROW(Employee))+1),COLUMNS($E$1:E1))), “--List Ends--”)}

在所有单元格中复制此公式。它将根据组将其提取到不同的列中。

031

如您在上图中所看到的,每个员工都被隔离在不同的单元中。

那么,这个公式如何工作?

为了理解该公式,让我们看一下G2中的公式= IFERROR(INDEX(Employee,SMALL(IF(Company = $ E3,ROW(Employee)-MIN(ROW(Employee))+ 1),COLUMNS($ E $ 1:F2))),“”-列表结尾-“)

机制很简单,几乎与`link:/ lookup-formulas-vlookup-multiple-values [multiple VLOOKUP公式]’相同。诀窍是获取不同组中每个员工的索引号,并将其传递给INDEX公式。这是通过公式的这一部分完成的。

IF(Company = $ E3,link:/ lookup-and-reference-excel-row-function [ROW](Employee)-MIN(`link:/ lookup-and-reference-excel-row-function [ROW] `((Employee *))+ 1):

这部分返回$ E3中包含“ Rankwatch”的公司名称的索引数组和false。

\ {FALSE; 2; FALSE; 4; FALSE; FALSE; 7; FALSE; 9}。

怎么样?让我们从内部拆下来。

在这里,我们将$ E3中的公司名称与Company范围内的每个值匹配(Company = $ E3)。

这将返回一个true和false的数组。\ {FALSE; TRUE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE; TRUE}。

现在,IF函数运行它的TRUE语句来表示TRUE,即`link:/ lookup-and-reference-excel-row-function (Employee)-MIN(`link:/ lookup-and-reference-excel- row-function [ROW](Employee))+ 1。

此部分返回此部分,返回从1到雇员人数\ {1; 2; 3; 4; 5; 6; 7; 8; 9}的索引数组。 if函数仅显示TRUE的值,这反过来又给我们\ {FALSE; 2; FALSE; 4; FALSE; FALSE; 7; FALSE; 9}。

当前公式简化为= IFERROR(INDEX(Employee,SMALL(\ {FALSE; 2; FALSE; 4; FALSE; FALSE; 7; FALSE; 9},COLUMNS($ E $ 1:F2))),“-列表结尾-“)。众所周知,小函数从数组返回第n个最小值。 COLUMNS($ E $ 1:F2)返回2。SMALL函数返回上面数组中的第二个最小值,即4。现在,公式简化为= IFERROR(INDEX(Employee,4),“-列表结尾-”)。现在,INDEX函数仅从employee数组中返回第四个名称,这给了我们“ Sam”。

是的,这是如何使用`link:/ excel-range-name-expanding-references-in-excel ,`link:/ statistical-formulas-excel-small-function [SMALL]从不同列的组中提取名称的方法]link:/ lookup-and-reference-excel-row-function [ROW],COLUMNS和IF函数。如果您对此功能有疑问或不适用于您,请告诉我下面的评论部分。

下载文件: