excel 具有不同列索引的 Vlookup 是否有任何其他函数取决于引用的单元格值?

Is there any other functions for excel Vlookup with different column index depend on referenced cell value?

我想使用 Vlookup 函数来依赖引用的单元格值。请看我的等式

=IF(G2=1,VLOOKUP(A9,Pipe_Size_Chart,2,FALSE),IF(G2=2,VLOOKUP(A9,Pipe_Size_Chart,3,FALSE),IF(G2=3,VLOOKUP(A9,Pipe_Size_Chart,4,FALSE),IF(G2=4,VLOOKUP(A9,Pipe_Size_Chart,5,FALSE),IF(G2=5,VLOOKUP(A9,Pipe_Size_Chart,6,FALSE),IF(G2=6,VLOOKUP(A9,Pipe_Size_Chart,7,FALSE),IF(G2=7,VLOOKUP(A9,Pipe_Size_Chart,8,FALSE))))))))

此处,所有 vlookup 函数调用都取决于单元格 G2 值。根据它的值,每个函数的列索引将为 varied.But 我想为此使用更高级或更紧凑的函数。我不想使用宏。任何人都可以给我一些建议吗?

如果您的 ifs 只有 7,您可以创建一个帮助数组,将您需要的值与您的 ifs 相匹配。我的意思是,如果你需要 g2=1 得到 2,g2=2 得到 3 等等,你可以作为第一步创建一个包含数字 0,1,2,3,4,5 的数组, 6,7(我们将调用此数组 "A1:A8")。

然后在您的 VLOOKUP 中您可以使用 MATCH 函数: =VLOOKUP(A9,Pipe_Size_Chart,匹配(G2,A1:A8,0),FALSE)

MATCH 函数将 return 您的查找值的相对位置,我猜是在单元格 G2 中,在我们创建的这个数组内,这将是您的索引列号。对于此示例,如果 G2=6,则 MATCH 函数将 return 数字 7,因为 6 是我们数组中的第七个数字。

希望对您有所帮助。如果它不能解决您的问题,请提供您的 table 的直观示例,以便我们提供更准确的答案。