Excel如何以INDIRECT函数间接引用




Excel强大之处在於将工作表分成一格一格的座标方格纸,每个储存格可以方便快速地参照引用其他储存格内容,进而将此参照设计在函数公式裡。这麼做衍生的好处之一,来源资料的内容有更新时,引用储存格或函数公式也会跟著更新。

不过,实际操作常会遇到把来源资料所在的工作表删除,此时会发现,引用的参照或者函数公式被切断,变成显示错误,这错误无法修復,即使后来补上相同名称、相同内容结构的工作表,仍然没办法将参照修补上,必须再重新操作连结一次,徒增重工。在此要介绍如何运用INDIRECT函数,建立相对较為稳定的储存可参照。

一、现场生產月报表,每个月都有一份,目前是一到六月,希望将其汇总。

Excel如何以INDIRECT函数间接引用 Excel 第1張

二、最直接、最原始的方法為储存格参照:「=一月!D2」。

Excel如何以INDIRECT函数间接引用 Excel 第2張

三、此时如果将一月份工作表删除,原来储存格参照等於被切断,显示「=#REF!」,意思是参照失效。

Excel如何以INDIRECT函数间接引用 Excel 第3張

四、直接参照连结被切断了,只能重新再引用,例如即使把更新后的一月再补入,仍然是「=#REF!」。

Excel如何以INDIRECT函数间接引用 Excel 第4張

五、设使一开始并非直接引用,而是间接引用:「=INDIRECT(“‘一月'”&”!D2″)」,如此即使后来「一月」工作表删除,同样会「#REF!」参照失效,但只要此活页簿中,再次补入「一月」工作表,又会重新建立和「一月」工作表「D2」储存格的连结,因為透过INDIRECT函数公式,这个连结是絶对建立在工作表名称和储存格位址上的,读者可自行尝试看看。注意到如果是纯粹文字,必须遵守「=INDIRECT(+”‘工作表名称'”&”!储存格位址”)」这样的规律,工作表名称两旁必须有英文单撇号「’」,储存格位址前面必须有惊嘆号「!」。

Excel如何以INDIRECT函数间接引用 Excel 第5張

六、INDIRECT函数不仅仅用简单的直接引用,它等於是开了一道大门,将参照引用由滑鼠操作切换成函数公式,因此在很多场合会都能用上,例如VLOOKUP函数:「=VLOOKUP(B1,INDIRECT(A4&”!C:D”),2,0)」。

Excel如何以INDIRECT函数间接引用 Excel 第6張

七、同样地,将INDIERCT函数嵌入到FIERROR函数公式中:「=IFERROR(SUMIF(INDIRECT($A5&”!C:C”),B$1,INDIRECT($A5&”!D:D”)),0)」,从这裡可以见得,INDIRECT是相对较為进阶、不容易设计阅读的函数,但在某些特定场合,没有此函数会是相当麻烦,反过来说,巧妙使用INDIRECT函数大大提升效率,尤其是自动批量引用参照的案例。

Excel如何以INDIRECT函数间接引用 Excel 第6張

引用参照其他储存格时,无论相同工作表或者跨工作表,滑鼠游标点选太过容易,以至於都会忘了其实在编辑列裡非常清楚,Excel是以特定文字方式表示参照连结,纵然滑鼠点选的好处是方便,然而滑鼠点选如同执行指令,不能建立重复大量循环的执行规则,INDIRECT函数刚好填补了这个空缺,能以函数公式间接引用的方式,依照工作表名称和储存格位址建立连结。实务工作中很多场合可以设计INDIRECT函数公式达到繁琐操作的自动化,除了这一节所介绍范例,往后再以适当范例和各位分享。


有系統、全面性的學習Excel職場應用,:會計人的Excel小教室PressPlay頻道


當前文章分類:
Excel