首页 > 解决方案 > 如何使用两个搜索条件优化 VLOOKUP 公式以提高计算效率?

问题描述

我有一个三列的长表,如下所示:

+-----+-------+-------+
| URL | Label | Value |
+-----+-------+-------+
| u1  | l3    | v1    |
+-----+-------+-------+
| u3  | l4    | v3    |
+-----+-------+-------+
| u2  | l2    | v2    |
+-----+-------+-------+
| u4  | l1    | v4    |
+-----+-------+-------+
| u3  | l5    | v3    |
+-----+-------+-------+
| u1  | l2    | v1    |
+-----+-------+-------+
| u4  | l3    | v4    |
+-----+-------+-------+
| u2  | l4    | v2    |
+-----+-------+-------+

我想准旋转它,让它看起来像:

+-----+-----+-----+-----+-----+-----+
| URL | l1  | l2  | l3  | l4  | l5  |
+-----+-----+-----+-----+-----+-----+
| u1  | #NV | v4  | v1  | #NV | #NV |
+-----+-----+-----+-----+-----+-----+
| u2  | #NV | v2  | #NV | v2  | #NV |
+-----+-----+-----+-----+-----+-----+
| u3  | #NV | #NV | #NV | v3  | v3  |
+-----+-----+-----+-----+-----+-----+
| u4  | v4  | #NV | v4  | #NV | #NV |
+-----+-----+-----+-----+-----+-----+

为此,我编写了一个带有两个搜索条件的 VLOOKUP 公式,如下所示:

=VLOOKUP($E2&F$1,CHOOSE({1.2},$A$2:$A$9&$B$2:$B$9,$C$2:$C$9),2,0)

CTRL+ SHIFT+输入ENTER

我不确定我是否正确地将公式从德语翻译成英语 - 我的德语 Excel 原始工作公式如下所示:

=SVERWEIS($E2&F$1;WAHL({1.2};$A$2:$A$9&$B$2:$B$9;$C$2:$C$9);2;0)

在这个例子中,这个公式就像一个魅力。

我的问题:我需要处理的原始表大约有 700.000 行长 - 在 Excel 昨晚整个计算之后,计算甚至还没有准备好。

有什么方法可以更有效地计算?

标签: excelexcel-formulavlookupexcel-365

解决方案


不使用密集数组公式的一种更简单的替代方法是使用辅助列

在 D 列中,生成连接:

=A2&B2

一旦完成,那么它在单元格中是相当直接的公式F2

=IFERROR(INDEX($C:$C,MATCH($E2&F$1,$D:$D,0)),"#NV")

向下复制。


推荐阅读