因此,我有一个参与者的excel数据集,可能有资格参与由他们的姓名,年龄,电话号码等组成的研究......如:
姓名|年龄|电话|电子邮件|地址|研究参与
我还有一列有资格参加新研究的参与者名单;它是名称列中数据的子集。
我需要做的是选择名称在子集列中的所有参与者,并将所有列中的所有信息复制并粘贴到新列中。
我尝试了类似的方法,选择一个空列并使用= IF($ Name-column = $ Subset-column,First-Column:Last-Column,“”)但是这只检查每个单元格中的名称是名称列与子集列中的名称匹配。我需要的是检查Name列中的任何名称是否与子集列中的名称匹配,如果匹配,则将该行复制到新工作表。
答案 0 :(得分:1)
使用VLOOKUP
应该可以解决问题。
在名称表旁边的空列中,您需要输入一组公式,例如:
=IFERROR(VLOOKUP(<name_from_current_row_of_name_table>,<subset_column_range>,1,FALSE),0)
然后,您可以将过滤器应用于名称表,并将条件设置为排除新列中的0。将过滤后的数据复制到新工作表。
答案 1 :(得分:1)
您可以Index
所有数据,然后Match
行到子集名称,并将每个列拉过来。
例如,它看起来像这样:
=INDEX(All!A1:F4,MATCH(Subset!A2,All!A1:A4,0),2)
让我们打破这个:
index函数采用以下参数:
Index(Array, Row_Number, Column_Number)
数组将是您拥有的所有数据,行号我们将使用匹配函数(下面)来查找从中获取数据的行,列号表示索引中从哪个列中提取信息(我们将继续增加这个以获得所有列。
要返回正确的行,我们将使用匹配
Match(Lookup_Value, Lookup_Array, Match_Type)
对于查找值,我们希望将其指向子集列表的当前行,查找数组将是我们先前在主列表中定义的索引中的所有可用名称,并且匹配类型将等于0(对于完全匹配)
看看这个excel document