简体   繁体   English

过于复杂 excel vlookup 很慢

[英]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 ID First第一的 Last最后的 ID2 ID2 ID3 ID3
1 1 First 1前 1 Last 1最后 1 个 101 101 301 301
2 2 First 2前 2 Last 2最后 2 102 102 302 302
3 3 First 3前 3 Last 3最后 3 个 103 103 303 303

[sheet1] [表 1] 样本

id ID Last最后的 First第一的 id2 id2
1 1 Last 1最后 1 个 First 1前 1 101 101
3 3 Last 3最后 3 个 First 3前 3 103 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM