Excel 可以对 Vlookup 使用“计算”​​数组吗?

Excel 可以对 Vlookup 使用“计算”​​数组吗?

在下面的屏幕截图中,什么文本将替换红色文本以允许在GH中计算范围VLOOKUP

我尝试了地址和连接的各种用法,但找不到解决方案。

截屏

这个问题的来源获取上述电子表格的部分(可复制粘贴)文本版本。

答案1

您要查找的函数是INDIRECT()。这将返回由字符串指定的引用。例如, INDIRECT("B2")相当于对单元格 的引用B2INDIRECT("B2:C4")相当于对范围 的引用B2:C4

显然,您需要将文本字符串值从G2:H11向下 放入 中D18:D32。这很容易;只需使用VLOOKUP(A18, A$2:H$11, 7)VLOOKUP(A18, A$2:H$11, 8)。使用这些构建块,我们得到 的以下公式D18

=VLOOKUP(B18, INDIRECT(VLOOKUP(A18, A$2:H$11, 7) & ":" & VLOOKUP(A18, A$2:H$11, 8)), 2)

其中,我们 使用字符串连接运算符将“第一个单元格”值(来自 Column G,又名第 7 列)和“最后一个单元格”值(来自 Column  H,又名第 8 列)与冒号 ( :)组合在一起。然后使用将字符串转换为可搜索范围。然后向下拖动/填充。&INDIRECT()B2:C4D18

        电子表格

鲍勃的佣金百分比出现是#N/A因为他的日期错误: B5和 B6是在 2017 年,但是B25:B27在 2016 年。

答案2

你有两个标准,所以如果你学会使用的话会更简单INDEX MATCH

=INDEX($C$2:$C$11,
       MATCH(1, (A18 = $A$2:$A$11) * (B18 < $B$2:$B$11), 0)
 )

并记住Ctrl+Shift+Enter按 而不是Enter来插入此数组公式。


$C$2:$C$11是你的佣金栏

MATCH(1, ..., 0)仅查看其中两个条件都为真的地方。

A18 = $A$2:$A$11正在寻找匹配的名称

B18 < $B$2:$B$11正在寻找早于参考日期的日期

相关内容