从另一个大型数据集中为每个唯一公司名称提取两行

时间:2015-10-16 08:25:45

标签: excel excel-formula excel-2010 excel-2013

我有两张纸:

Sheet1列出了300个独特的公司,我需要填写记录(信息行)。每个公司我需要两行。

Sheet2有这些公司2000多条记录的完整列表,有些公司有十几行记录。

如何从大型数据集中为每个公司名称提取两行?

对于有两行以上的公司,我提取哪些行并不重要。

1 个答案:

答案 0 :(得分:0)

您可以使用OFFSET()将范围移动到您要查找的第一个匹配项之后。它使公式有点乱,但它不需要VBA。

如果您检索第一行,它只会进行索引匹配。 否则它会根据目标和匹配范围进行索引匹配,这两者都会被等于组的第一个匹配的行数偏移。

我尝试格式化它,希望能让它更清晰

=IF(F2=1,
    INDEX($B$2:$B$60,MATCH(E2,$A$2:$A$60,0)),
    INDEX(OFFSET($B$2:$B$60,
                 MATCH(E2,$A$2:$A$60,0),
                 0),
          MATCH(E2,
                OFFSET($A$2:$A$60,
                       MATCH(E2,$A$2:$A$60,0),
                       0),
                0)))

考虑A列中的代理商列表,B列中的信息,要在E列中查找的代理商名称以及要在F列中查找(1或2)的实例。

输出范围将如下所示

E    F    H
1    1    Formula
1    2    Formula
2    1    Formula
...