首页 > 解决方案 > 使用具有拆分范围的 VLOOKUP

问题描述

我正在制作一个查找值并返回值的公式,这是我可以使用的相当简单的过程VLOOKUPor INDEX-MATCH。但是,当范围并排放置时,我似乎无法创建或找到使其工作的方法。(将提供示例)

我知道我可以将所有数据移动到两列中,但这会使它变得很长,并且经常查看该表以供参考。我想保持桌子原来的样子。

我正在寻找的是我可以将油箱液位(英寸)输入一个单元格,然后在它旁边返回油箱液位(加仑)。我现在的公式是

=INDEX('Calib. A & B'!$B$3:$B$47,MATCH(TANKS!$E$2,'Calib. A & B'!$A$3:$A$47,1))

目前它比较 cellE2A3:A47返回对应的值B3:B47。它需要搜索列 C、E、G、I 等。除了重新排列电子表格之外还有什么想法吗?

标签: excelexcel-formulavlookup

解决方案


有不同的方法可以获取相关的行/列以进行查找:

=INDEX('Calib. A & B'!$A$3:$U$47,AGGREGATE(15,6,1/((TANKS!$E$2='Calib. A & B'!$A$3:$U$47))*ROW('Calib. A & B'!$A$3:$U$47)-2,1),AGGREGATE(15,6,1/(TANKS!$E$2='Calib. A & B'!$A$3:$U$47)*COLUMN('Calib. A & B'!$A$3:$U$47)+1,1))

index 函数的-2for rows 参数用于调整标题位置。列+1参数是返回匹配单元格右侧一列的值。

当然,这假设与 lookup_value 匹配的值E2只能在数据范围的“奇数”列中找到。

正如@TerryW 所建议的,如果您的测量E2值与数据表中的值不完全匹配(并且数据表测量值精确到 1/8),您可以将 E2 舍入到下一个 1/8。

替换TANKS!$E$2ROUNDUP(TANKS!$E$2*8,0)/8


推荐阅读