将一个工作表中的两列与第二个工作表中的两列进行比较

时间:2015-07-02 14:51:19

标签: excel excel-vba excel-formula vba

我的第一张纸有两列。它们是用户列表(许多重复项)及其对应的搜索ID(9位数字)

我的第二张纸也有两列。用户列表(许多重复项)及其对应的搜索ID(由逗号分隔的9位数字的1-100个ID [例如:123456789,113546789等...)

是否有两种方法可以将两个列表与另外两个列表进行比较?基本上我想看看在第一张中具有ID的用户是否在其他ID中的第二张中匹配。因此,我不仅要匹配用户,还要匹配第一张中的ID,如果它也在第二张列表中找到。

我已经习惯了 = IF(ISNA(LOOKUP(2 ^ 15,FIND(D2,Searches!$ C $ 1:$ C $ 2000),Searches!$ C $ 1:$ C $ 2000))," NOT FOUND",MATCH( " "&安培; D2&安培;" ",搜索$ C $ 1:!$ C $ 2000,0))

这会在第二张纸中找到用户并返回它们所在的行。但是它们可以在多行中但我只能返回一行。如何获取它所在的所有行?

1 个答案:

答案 0 :(得分:0)

如果您只想看到类似的内容:

    每个唯一身份用户
  • :所有购买
  • 为每个唯一身份用户:所有搜索

您可以添加两个数据透视表(插入>数据透视表,最好在新工作表中)。一个获取第一张纸的数据,另一个获取第二张纸的数据。

因此,您将看到一个侧边栏,您可以在其中添加字段(用户和购买第一张工作表,用户并搜索第二张工作表)。

您所要做的就是将user字段拖放到row labels,然后将purchase字段拖到{{ 1}}。

对两个数据透视表(一个用户/购买,另一个用户/搜索)

执行此操作

您将有两个表格告知用户的所有购买(无重复)以及用户的所有搜索(无重复)。

另外,您可以在row labels框中添加其他字段,查看搜索和购买的数量,等等。