我正在尝试VLOOKUP
引用大约 400 个单独的 Excel 文件的数据。
是否有可能以一种快速的方式完成此操作而不是手动完成?
答案1
这是一个示例解决方案。如果参考文件经常更改,维护起来会有些困难,但总比没有好。
假设我们有 3 个文件,1.xslx
和2.xslx
,3.xslx
每个文件都有一个表 ,其中和 列为Index
, 如下所示:Value
A
B
Index Value
1 a
2 b
3 c
创建一个新的工作簿,index.xlsx
看起来像这样:
A B ... E F
1 index: 1.xlsx
2 value: 2.xlsx
3 3.xlsx
您需要在此处准备所有文件名的列表(假设为 E 列)。将此公式添加到单元格中F1:F3
(选择范围,输入公式,然后键入Ctrl+ Shift+ Enter):
=VLOOKUP($B$1, INDIRECT("["&$E$1:$E$3&"]Sheet1"&"!$A$2:$B$5"), 2, FALSE)
替换3
为文件数(即列中的条目数E
)和5
任何文件中的最高行号。如果您选择不在参考文件的第 1 行中添加标题,请更改$A$2
为$A$1
。第二个指的是我们从参考文件的2
列中提取数据。B
在单元格中B2
输入公式:
=INDEX(F1:F3, MATCH(TRUE,ISTEXT(F1:F3),0), 0)
(再次使用Ctrl++ Shift)Enter。现在,通过在 中输入某个索引B1
,您将从 中出现的所有文件中获得其值B2
。
注意:此方法假设值是文本(而不是空白),但不假设索引是数字。如果索引不是唯一的,您将获得第一个匹配项,并按照列中列出的顺序搜索文件E
。
如果需要,可以针对每个文件或不同工作表中的不同范围进行修改,但这就是想法。