答案1
您要查找的函数是INDIRECT()
。这将返回由字符串指定的引用。例如,
INDIRECT("B2")
相当于对单元格 的引用B2
,INDIRECT("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:C4
D18
鲍勃的佣金百分比出现是#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
正在寻找早于参考日期的日期