excel - Excel 中 INDIRECT() 的替代方法

标签 excel

我当前使用公式 =MATCH(A2,INDIRECT(Q20):INDIRECT(Q22),0),其中 A2 包含要在某个范围内搜索的项目。该范围是动态的,Q20 保持起点为 =ADDRESS(Q17,3,4),Q22 保持 =ADDRESS(Q18,3,4)。 Q17 和 Q18 包含一个公式,用于根据特定单元格 B2 中的用户输入计算所需的行号。如您所见,范围是动态生成的。

有人可以建议使用非 volatile 函数做同样的事情吗?这将在多个地方使用,如果这样做,它会减慢整个电子表格的速度。我还想禁用手动计算,因为在特定单元格 B2 中输入输入后我需要立即返回更新的结果。

最佳答案

INDEX 通常可以代替 INDIRECT 和 ADDRESS。它也被认为是非 volatile 的(与间接和地址不同),因此它不会重新计算那么多。

 =MATCH(A12, INDEX(A:Z, Q17, 3):INDEX(A:Z, Q18, 3), 0)
 'if always in column C then the range can be tightened.
 =MATCH(A12, INDEX(C:C, Q17):INDEX(C:C, Q18), 0)

关于excel - Excel 中 INDIRECT() 的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53995083/

相关文章:

sql - 创建循环以创建 PostgreSQL 列

excel - 在 Excel VBA 中查找 Object/ArrayList 的最后一个元素

vba - Excel VBA 从中央服务器获取命令的最佳方法

excel - VBA:在 Excel 中创建 session 持久对象(哈希)

EXCEL.EXE 不会关闭

vba - 使用另一个工作表中的列中的值从 Excel 中删除行?

Excel VBA 宏用于跟踪单独工作表中的更改

java - 如何使用java在Excel中将特定单元格设置为边框形式

未为规划求解定义 VBA Sub

vba - 通过 FileSystemObject 迭代文件夹中的文件