也許沒聽說過INDIRECT函數(shù),但你一定聽說過穿越,穿越是從一個地方直接就能到另外一個地方,另外一個世界,說起來到有點像地道戰(zhàn),從這個口進去,從另外一個口冒出來。Excel里面就有這樣的函數(shù)會穿越,能夠從一個單元格穿越到另外一個單元格,你相信嗎?
你可以先試一下,在單元格B5中輸入一個字“穿越”,然后在任意一個單元格如A6中輸入下面的公式:
=INDIRECT("B5")
你會發(fā)現(xiàn),A6中出現(xiàn)了和B5單元格一模一樣的數(shù)據(jù)內(nèi)容,就好像是B5單元格的內(nèi)容發(fā)生了穿越,直接從A6冒出來了一樣,怎么樣,好玩吧?
說到這里,你可能也大概了解了這個函數(shù)的功能,就是在參數(shù)里設定一個單元格地址,然后這個函數(shù)就能把這個地址所指示的單元格內(nèi)的數(shù)據(jù)給顯示出來。
這還只是一般的用法,最近又發(fā)現(xiàn)這個函數(shù)有個比較巧妙的用途
以往當我們在一張Excel表格當中引用另外一張表格某個單元格的內(nèi)容的時候,通常都會輸入公式
=sheet2!B5
然而當你不小心或者為了更新數(shù)據(jù)而刪除了sheet2工作表的時候,你會發(fā)現(xiàn),你輸入公式的那個單元格出現(xiàn)了可怕的引用錯誤符號#REF!,公式也變成了這個樣子
=#REF!B5
也許你后悔了,重新建立一張表,并且把表的名字設置的跟原來的一模一樣,可惜參照錯誤還是不會改變,這個時候你也許會重寫公式,但是有了INDIRECT函數(shù),你就不用這么煩惱了。
你可以把公式寫成:
=INDIRECT("sheet2!B5")
這個時候如果你刪除了Sheet2表,照樣會出現(xiàn)引用錯誤,不過現(xiàn)在你不必擔心,只要你再建立一個名字為Sheet2的表格,那么引用錯誤就會消失,并且會找到Sheet2里面的B5單元格的值顯示出來。
這特別適合需要整張表資料都要替換掉的情況,不用重寫公式,只需把原表刪除,然后再把新表復制進來,改成對應的名字就好了。