EXCEL indirect函数如何实现下拉自动填充

公式:=INDIRECT($O$3&"!N"&10)
想实现下拉自动填充为:
=INDIRECT($O$3&"!N"&11)
=INDIRECT($O$3&"!N"&12)
=INDIRECT($O$3&"!N"&13)
但现在下拉后只是单纯的复制,公式依然为:=INDIRECT($O$3&"!N"&10)
虽然可以通过:=INDIRECT($O$3&"!N"&ROW())实现,但每次打开查看数据,不做任何修改都提示是否保存.想问问有没有别的办法可以实现下拉填充?

1.) 只要工作簿内有一个或以上的易变函数(Volatile function), 开启时都会自动有改动
易变函数有:RAND、NOW、TODAY、OFFSET、CELL、INDIRECT、INDEX、AREAS、ROWS、COLUMNS…可能更多
2.) 如自定义函数的VBA代码,有 Application.Volatile…都会有此情况
3.) 有自动执行的Wookbook宏,如 Workook_Open、Workbook_BeforeClose等
4.) 之前有遇到过,office 2003编辑的文档,用office 2000转换打开,也会有这个情况
5.) 触控板或鼠标移动了当前光标所在的单元格,excel也会认为你对文档作出了修改。
前三种可能性大,如果没有需要改动或编辑的,提示是否保存时,选择“否”即可。
如果想避免,可以用vlookup,基础数据放在一张表,加标识列代替现在的sheet名
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-27
把10改为与row()相关
不知道你当前单元格(即输入了公式=INDIRECT($O$3&"!N"&10)的单元格)是在第几行,假如此单元格是在第2行,那么把10替换为(row()+8),再下拉就可以了本回答被网友采纳
第2个回答  2018-03-27
改为如下即可下拉:
=INDIRECT($O$3&"!N"&ROW(A10))
第3个回答  2015-02-10
没有办法,INDIRECT是一个易失性函数.每次打开文件都会重新计算引用范围.本回答被提问者采纳
第4个回答  2015-02-10
INDIRECT($O$3&"!N"&ROW(A10))