【发布时间】:2015-10-16 08:25:44
【问题描述】:
我有两张纸:
Sheet1 列出了 300 家独特的公司,我需要为其填写记录(信息行)。每个公司我需要两行。
Sheet2 有这些公司的 2000 多条记录的完整列表,有些公司有十几行记录。
如何从大型数据集中为每个公司名称提取两行?
对于拥有两行以上的公司,我提取哪些行并不重要。
【问题讨论】:
标签: excel excel-formula excel-2010 excel-2013
我有两张纸:
Sheet1 列出了 300 家独特的公司,我需要为其填写记录(信息行)。每个公司我需要两行。
Sheet2 有这些公司的 2000 多条记录的完整列表,有些公司有十几行记录。
如何从大型数据集中为每个公司名称提取两行?
对于拥有两行以上的公司,我提取哪些行并不重要。
【问题讨论】:
标签: excel excel-formula excel-2010 excel-2013
您可以使用 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
...
【讨论】: