1

所以我有一个参与者的 excel 数据集,这些参与者可能有资格参加一项由他们的姓名、年龄、电话号码等组成的研究……比如:

姓名 | 年龄 | 电话 | 电子邮件 | 地址 | 参与的研究

我还有一列有资格参加新研究的参与者姓名;它是名称列中数据的子集。

我需要做的是选择名称在子集列中的所有参与者,并将所有列中的所有信息复制并粘贴到新列中。

我尝试过类似的方法,选择一个空列并使用 =IF($Name-column = $Subset-column, First-Column:Last-Column, "") 但这仅检查名称列的每个单元格中的名称是否匹配子集列中的名称。我需要的是检查名称列中的任何名称是否与子集列中的名称匹配,如果匹配,则将该行复制到新工作表中。

4

2 回答 2

1

使用 aVLOOKUP应该可以解决问题。

在名称表旁边的空列中,您需要输入一组公式,例如:

  =IFERROR(VLOOKUP(<name_from_current_row_of_name_table>,<subset_column_range>,1,FALSE),0)

然后,您可以将过滤器应用于名称表并设置条件以排除新列中的 0。将过滤后的数据复制到新工作表。

于 2013-06-01T19:24:37.003 回答
1

您可以将Index所有数据然后Match行到子集名称并拉过每一列。

例如,它看起来像这样:

=INDEX(All!A1:F4,MATCH(Subset!A2,All!A1:A4,0),2)

让我们分解一下:

index 函数采用以下参数:

Index(Array, Row_Number, Column_Number)

该数组将是您拥有的所有数据,行号我们将使用匹配函数(如下)来查找要从哪一行获取数据,列号表示要从索引中的哪一列提取信息(我们将不断增加它以获取所有列)。

要返回正确的行,我们将使用 match

Match(Lookup_Value, Lookup_Array, Match_Type)

对于查找值,我们要将其指向子集列表的当前行,查找数组将是我们之前在主列表中定义的索引中可用的所有名称,匹配类型将等于 0(用于精确匹配)

看看这个excel文档

于 2013-06-01T19:28:20.360 回答