我曾经使用过VLOOKUP,但这一次我遇到了挑战。我不希望第一个匹配的值,但最后一个。怎么样?(我正在使用LibreOffice Calc,但MS Excel解决方案应该同样有用。)
原因是我有两个带有数千行的文本列,假设一个是交易收款人的列表(亚马逊,Ebay,雇主,杂货店等),另一个是支出类别的列表(工资,税金,家庭,房租等)。有些交易并非每次都有相同的支出类别,我想获取最近使用的一种。请注意,该列表没有按任何列排序(实际上是按日期排序),我不想更改排序顺序。
我所拥有的(不包括错误处理)是通常的“首次匹配”公式:
=VLOOKUP(
[payee field] , [payee+category range] , [index of category column] ,
0 )
我已经看到了这样的解决方案,但#DIV/0!
出现错误:
=LOOKUP(2 , 1/( [payee range] = [search value] ) , [category range] )
解决方案可以是任何公式,不一定是VLOOKUP。我也可以交换收款人/类别列。请排序列保持不变。
奖励积分是一种选择最频繁而不是最后一个值的解决方案!