繁体   English   中英

将VLOOKUP与分割范围一起使用

[英]Use VLOOKUP with split ranges

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

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

我要寻找的是我可以在一个单元格中输入储罐水位(英寸),然后在其旁边将返回储罐水位(加仑)。 我目前的公式是

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

当前,它将单元格E2A3:A47比较,并返回B3:B47的相应值。 它需要搜索列C,E,G,I等。除了重新排列电子表格以外,还有其他想法吗?

有多种获取有关查询的相关行/列的方式:

=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))

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

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

正如@TerryW所建议的那样,如果E2的度量与数据表中的值不完全匹配(并且数据表中的度量与1/8完全相同),则可以将E2向上舍入到下一个1/8。

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

一种方法是使用长公式基本上对每一列进行匹配结果的并集,但在不匹配时将结果作为空字符串。

因此,我们对列A进行匹配,如果找不到,则返回空白字符串,如果发现返回数字,则对列C进行相同操作,并将结果连接起来并在索引上使用它。

但是,这仅在您搜索完全匹配时才有效。

例如:

=INDEX('Calib. A & B'!$B$3:$B$47,IF(ISNA(MATCH(TANKS!$E$2,'Calib. A & B'!$A$3:$A$47,0)),"",MATCH(TANKS!$E$2,'Calib. A & B'!$A$3:$A$47))&IF(ISNA(MATCH(MATCH(TANKS!$E$2,'Calib. A & B'!$C$3:$C$47,0)),"",MATCH(MATCH(TANKS!$E$2,'Calib. A & B'!$C$3:$C$47)))

您将需要为每一列添加一个以上的部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM