Excel 间接替代

Excel 间接替代,excel,performance,excel-indirect,Excel,Performance,Excel Indirect,我正在使用间接函数从另一张表中获取数据。 直接的方式是“sheetname!A5”。我动态地需要它,因此sheetname也是表的一部分,使用间接的“indirect”(““&G$1&”!A5”),而G1包含sheetname就可以了 间接的速度非常慢,这比我的项目要好,因为我需要大量的回迁 是否有一个功能不太强大/性能更高的函数从可变工作表中获取数据?我遇到过类似的情况-根据“结果”工作表的更改频率,最好动态创建一个最初“写入”硬编码表单的公式。例如:=“=”&G$1&“!A5” 然后,根据您

我正在使用间接函数从另一张表中获取数据。 直接的方式是“sheetname!A5”。我动态地需要它,因此sheetname也是表的一部分,使用间接的“indirect”(““&G$1&”!A5”),而G1包含sheetname就可以了

间接的速度非常慢,这比我的项目要好,因为我需要大量的回迁


是否有一个功能不太强大/性能更高的函数从可变工作表中获取数据?

我遇到过类似的情况-根据“结果”工作表的更改频率,最好动态创建一个最初“写入”硬编码表单的公式。例如:=“=”&G$1&“!A5”


然后,根据您的意愿复制该公式;它将创建表示您希望公式外观的文本字符串。然后,复制并粘贴为值-您现在将在每个单元格中输入所需的公式。默认情况下,Excel仍将每个单元格显示为文本字符串,即使格式类型为常规格式(假设是事先)。从那里,不同的解决方案是可能的-如果您的单元格数量足够少,只需从顶部开始按F2键,然后反复输入,即可获得Excel以计算每个单元格。

不会有一个函数完全按照您的要求执行,它的性能比间接的好,因为它是查找每个工作表和单元格引用的行为这会导致公式速度变慢。你在寻找什么(无论你是否认识到这一点)是为了让公式预先计算一次并存储以供将来参考。为此,您需要动态生成公式并将其作为独立项保留。我在回答中以相当手动的方式描述了如何执行此操作-如果您有大量类似的数据,则您可能更喜欢VBA解决方案。请e看看这个: