Excel:如何使用引用单元格中的文本动态更改公式中的文本

Excel:如何使用引用单元格中的文本动态更改公式中的文本

我正在处理以下几行:

=VLOOKUP(B16,PI_Rank_费洛克斯,2,假)

我正在尝试获取公式中的文本(示例中显示了单词 Ferox)并使其根据另一个单元格中发生的情况(单元格 H3 中的文本)动态地变化。

因此,如果 H3 显示单词 Griffin,我希望单元格更改为以下内容:

=VLOOKUP(B16,PI_Rank_格里芬,2,假)

如果 H3 显示“Slasher II”字样,我希望它看起来像这样:

=VLOOKUP(B16,PI_Rank_杀戮狂二世,2,假)

有什么建议吗?

答案1

该函数的用途INDIRECT

尝试:

=VLOOKUP(B16,INDIRECT("PI_Rank_" & H3),2,FALSE)

请注意,这INDIRECT是一个易失性函数,如果您有大量公式使用此函数,它可能会减慢您的工作表计算速度

答案2

请尝试这个:=VLOOKUP(D2,IFS($F$13="Ferox",PI_Rank_Ferox,$F$13="Griffin",PI_Rank_Griffin,$F$13="Slasher II",PI_Rank_Slasher_II),2,FALSE)

请注意PI_Rank_FeroxPI_Rank_GriffinPI_Rank_Slasher_II作为表格范围而不是文本添加。 在此处输入图片描述

答案3

另一种可能性是:= VLOOKUP(B16, CHOOSE(H4, PI_Rank_Ferox, PI_Rank_Griffin, PI_Rank_Slasher_II), 2, FALSE)

其中单元格 H4 包含单元格 H3 中选择内容的索引号 1-3。

如果您想让它变得非常漂亮且易于扩展,请制作一个包含 1 列的表格,其中包含您希望用户能够选择的所有值。创建一个命名引用(公式->名称管理器->新建),并在引用您中输入:=INDEX(<您的表名[列名]>, 0)。现在,将单元格 H3 设为数据验证单元格,其值基于列表。在源字段中,键入您刚刚创建的命名引用的名称。最后,在单元格 H4 中,键入:IFERROR(Match(H3, <您的表名[列名]>, 0), 1)

相关内容