indirect函数与MATCH函数组合 MATCH($D2,INDIRECT(("修改总表格!O"&$A1+1&":5
1个回答

这个公式拆开来看

=MATCH($D2,动态区域,0)

动态区域=INDIRECT(("修改总表格!O"&$A1+1&":5000"))

INDIRECT的作用是建立动态区域的引用.

最简单的,比如说,=INDIRECT("A1")=A1.

也就是说,建立一个文本形式的表述,用INDIRECT“还原”.

=INDIRECT(("修改总表格!O"&$A1+1&":5000"))

的意思是,根据$A1的变化,得到一个动态区域.但好像有一点错误,怀疑是

=INDIRECT("修改总表格!O"&$A1+1&":O5000")

比如$A1=3,那么计算过程为

=INDIRECT("修改总表格!O"&3+1&":O5000")

=INDIRECT("修改总表格!O"&3+1&":O5000")

=INDIRECT("修改总表格!O4:O5000")

=修改总表格!O4:O5000

这个作为MATCH的检索区域,根据$A1的值动态更新.