[英]Overly complicated excel vlookup very slow
I have a worksheet with possibly hundreds of columns that I am trying to create smaller reports from.我有一个可能包含数百列的工作表,我正在尝试从中创建较小的报告。
I created a dynamic vlookup to build the table, but the results are very slow and I am looking for a better solution.我创建了一个动态 vlookup 来构建表格,但结果很慢,我正在寻找更好的解决方案。
[Sheet1] B2 sample formula: [Sheet1] B2 示例公式:
=VLOOKUP($A2,IF({1,0},INDIRECT(ADDRESS(1,MATCH($A$1,Data!$1:$1,0),1,,"Data")&":"&ADDRESS((MAX((Data!$A:$A<>"")*ROW(Data!$A:$A))),MATCH($A$1,Data!$1:$1,0),1)),INDIRECT(ADDRESS(1,MATCH(B$1,Data!$1:$1,0),1,,"Data")&":"&ADDRESS((MAX((Data!$A:$A<>"")*ROW(Data!$A:$A))),MATCH(B$1,Data!$1:$1,0),1))),2,0)
[data] sheet has the data being pulled. [data] sheet 有被拉取的数据。
[Sheet1]Row 1 contains headers that match [data] row 1 headers [Sheet1]第 1 行包含与 [数据] 第 1 行标题匹配的标题
[Sheet1]Column 1 contains the lookup value [Sheet1]第 1 列包含查找值
[data] [数据]
ID ![]() |
First![]() |
Last![]() |
ID2 ![]() |
ID3 ![]() |
---|---|---|---|---|
1 ![]() |
First 1![]() |
Last 1![]() |
101 ![]() |
301 ![]() |
2 ![]() |
First 2![]() |
Last 2![]() |
102 ![]() |
302 ![]() |
3 ![]() |
First 3![]() |
Last 3![]() |
103 ![]() |
303 ![]() |
[sheet1] [表 1]
id ![]() |
Last![]() |
First![]() |
id2 ![]() |
---|---|---|---|
1 ![]() |
Last 1![]() |
First 1![]() |
101 ![]() |
3 ![]() |
Last 3![]() |
First 3![]() |
103 ![]() |
Put the match in the return column:将匹配项放在返回列中:
=VLOOKUP($A2,Data!$A:$E,MATCH(B$1,Data!$A$1:$E$1,0),0)
If one has FILTER then:如果有过滤器,那么:
=FILTER(Data!$B:$E,Data!$A:$A=$A2)
it will spill to the right the values.它将向右溢出值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.