|
一个工作薄很多工作表都是用这个公式读取一个记录本表的数据
原始公式
=IFERROR(VLOOKUP(ROW(1:1)&$K$2,记录本!$B$3:$W$3000,COLUMN(J:J),0),"")
=IFERROR(VLOOKUP(ROW(1:1)&$K$2,记录本!$B$3:$W$3000,COLUMN(L:L),0)&"","")
=IFERROR(VLOOKUP(ROW(1:1)&$K$2,记录本!$B$3:$W$3000,COLUMN(N:N),0)&"","")
...............列举3个公式,后面省略.............一张表格有200多个单元格用类似这样的公式读取数据,一个工作薄有很多这样的表
修改后的公式
=IFERROR(VLOOKUP(ROW(1:1)&$K$2,INDIRECT("记录本!$B$3:$W$"&初始资料!$AD$2),COLUMN(J:J),0),"")
备注,修改公式里面的,初始资料!$AD$2用下面这个公式
=COUNTA(记录本!N1:N5000)
解释下修改公式的意图
原公式里面的部分 记录本!$B$3:$W$3000 很多表格都是固定一个很大范围读取数据,把这部分改成 INDIRECT("记录本!$B$3:$W$"&初始资料!$AD$2),就是根据记录本的记录数据有多少行就生成多少行的一个数值,由这个公式=COUNTA(记录本!N1:N5000)生成。
现在这样的改写后不知道效果有多少,请教下大佬这种改写有没有意义。 |
|