【问题标题】:Extract two rows for each unique company name from another large dataset从另一个大型数据集中为每个唯一的公司名称提取两行
【发布时间】:2015-10-16 08:25:44
【问题描述】:

我有两张纸:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    您可以使用 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
    ...
    

    【讨论】:

    • 你是怎么用公式做这么好的格式的?
    • 好吧,这里我只是使用了输入和空格,但是您可以在 Excel 中使用 alt+enter 将换行符插入到您的公式中。尽管使用等宽字体,但在 Google 表格中格式化要容易得多。
    • 我明白了,我以为你有一些花哨的自动化方式
    猜你喜欢
    • 2017-10-08
    • 2021-06-12
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 2017-07-07
    • 2020-09-10
    • 1970-01-01
    • 2015-11-14
    相关资源
    最近更新 更多