动态列更改

时间:2015-11-19 12:45:23

标签: excel excel-formula

我想知道在Excel中是否有更改列的方法如下所述?

=A1*(Formula that returns a letter)2

所以例如公式返回结果为的字母F. =A1*F2

然后,如果在单元格A1 = 3中,则F2 = 7。那么Excel公式的结果将是21

我希望这种方法是可行的,因为我希望在SUMPRODUCT(SUMIFS(.......................................))中使用它,我正在分析的数据是一堆乱七八糟的列和标签。并且我对我可以尝试的其他方法感到困惑。

1 个答案:

答案 0 :(得分:0)

INDIRECT function可以采用看起来像单元格引用的文本,并将其转换为有效的单元格引用。

=INDIRECT("A2")
=INDIRECT("A"&2)
=INDIRECT(<formula that returns a letter>&2)
=INDIRECT(<formula that returns a letter>&"2")

......每个都与

相同
=A2

您所要做的就是传递一些构造的文本字符串,该字符串可以被解释为INDIRECT的单元格引用。

使用INDIRECT功能时应小心,因为它被认为是 volatile ¹功能。如果它们用于计算密集型公式或非常集中,则只要工作簿中的任何内容发生更改,用户就会遇到计算延迟。

¹当整个工作簿中的任何内容发生变化时,不仅在影响其结果的某些内容发生变化时,挥发性函数都会重新计算。 易失性函数的示例包括INDIRECTOFFSETTODAYNOWRANDRANDBETWEENCELLINFO工作表函数的某些子函数也会使它们变得不稳定。