如何使用VBA将多列中的术语与一列匹配

时间:2012-08-28 23:30:15

标签: excel excel-vba vlookup vba

我有一个用户ID的Sheet1与多个术语相关联。这些术语列在单独的列中。每个用户最多有30个术语。工作表在A列中列为用户ID,在B,C,D等列中组织为术语

然后我有一系列与Sheet2中的唯一类别相关联的术语(A列中的术语,B列中的类别)。目标是将用户与类别进行匹配。因此,我需要执行一个史诗比例的Vlookup或运行一个VBA程序,将Sheet1中B,C,D等列中的术语与Sheet2中A列中的术语进行比较。

如果在Sheet2中找到,那么如果公式将该术语替换为Sheet1中的相关类别,则会很好。

1 个答案:

答案 0 :(得分:4)

创建sheet3

将以下内容粘贴到sheet3,单元格A1:

=iferror(vlookup(sheet1!A1,sheet2!:$A:$B,2,0),sheet1!A1)

然后向下并向右拖动sheet1中的任意数量的行/列。

基本上,公式将查找sheet2列表中每个sheet1单元格中的任何内容。如果它被发现它返回值,如果它不是它只显示sheet1上的内容。

<强>更新

如果你有一个没有iferror的旧版excel,你可以像这样使用iserror

=if(iserror(vlookup(sheet1!A1,sheet2!:$A:$B,2,0)),sheet1!A1,vlookup(sheet1!A1,sheet2!:$A:$B,2,0))