如何使用VBA将多列中的项匹配到一列

我有用户ID的Sheet1关联与多个条款。 这些条款列在单独的列中。 每个用户最多可以有30个条款。 该表被组织为列A中的用户ID和列B,C,D等中的术语

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

如果在Sheet2中find,如果公式用Sheet1中的关联类别replace该项,将会很好。

创build一个sheet3

将以下粘贴到Sheet 3,单元格A 1:

=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))