dws*_*ein 9 excel vba excel-vba excel-formula
我有一个excel工作簿,具有相同客户端ID的多个实例.因此,客户端可以在列表中出现多次.我想找到客户端ID的最后一个(最接近底部)实例,这样我就可以查看同一行以获取更多信息.VLOOKUP显示了第一个实例,我需要最后一个实例.
那么,如何使用内置函数找到给定客户端ID的最后一个实例?我宁愿不写宏来做这件事.
Dmi*_*liv 22
假设您要"id_1"在范围内查找id的最后一个实例A2:A8并从范围返回相应的值B2:B8,然后使用:
=LOOKUP(2,1/(A2:A8="id_1"),B2:B8)
Run Code Online (Sandbox Code Playgroud)

如果要在范围内返回id的最后一个intance的索引,请使用:"id_1"A2:A8
=MATCH(2,1/(A2:A8="id_1"))
Run Code Online (Sandbox Code Playgroud)
带数组输入(CTRL+ SHIFT+ ENTER).
如果要返回id的最后一个intance的行号"id_1",请使用:
=LOOKUP(2,1/(A2:A8="id_1"),ROW(A2:A8))
Run Code Online (Sandbox Code Playgroud)
这种语法是一个特殊的技巧:(A2:A8="id_1")求值为{TRUE,FALSE,FALSE,TRUE,...}.接下来,假设TRUE=1和FALSE=0,部分1/{TRUE,FALSE,FALSE,TRUE,...}给你{1,#DIV0!,#DIV0!,1,..}.
返回结果数组中的最后一个数字lookup_value应该大于lookup_array {1,#DIV0!,#DIV0!,1,..}中的任何值(在我们的例子中).由于阵列只包含1或者#DIV0!,我们可以采取2的lookup_value,因为它总是大于1.