我当前使用公式 =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/