之前在一個共用的excel裡,(實際是用google試算表)常發現就算是某些被鎖定的區域,公式的位置有時候還是會跑掉,原本以為是甚麼bug,困擾了很久。
前一陣子才想到可能是excel本身的功能,就是如果移動目標儲存格,原本有用到該儲存格的公式中對應的儲存格位置也會修改。本來這是一個很方便的功能,但在這種協同編輯的表格裡面就變成一種惡夢。
所以找到這個方法後以後公式應該不會再出錯了吧。
然後這個公式可以不用參照,例如:
=INDIRECT("A1")
這樣就是直接指向A1,而非A1的參照。
語法
INDIRECT(ref_text, [a1])
INDIRECT 函數語法具有下列引數:
Ref_text 必要。單一儲存格的參照,其中包含 A1 樣式參照、R1C1 樣式參照、定義為參照的名稱,或定義為文字字串的儲存格參照。如果 ref_text 不是有效的儲存格參照,INDIRECT 會傳回 #REF! 錯誤值。
如果 ref_text 參照另一個活頁簿 (外部參照),則必須開啟另一個活頁簿。如果來源活頁簿未開啟,INDIRECT 會傳回 #REF! 錯誤值。
附註 Excel Web App 不支援外部參照。
如果 ref_text 參照的儲存格範圍超出 1,048,576 的列限制或 16,384 (XFD) 的欄限制,INDIRECT 會傳回 #REF! 錯誤。
附註 在 Microsoft Office Excel 2007 之前的舊版 Excel 中,此行為是不同的,會忽略超出的限制並傳回值。
A1 選用。指定 ref_text 儲存格中所包含參照類型的邏輯值。
如果 a1 為 TRUE 或省略,則 ref_text 會被解釋成 A1 樣式參照。
如果 a1 為 FALSE,則 ref_text 會被解譯成 R1C1 樣式參照。
https://support.office.com/zh-tw/article/INDIRECT-%E5%87%BD%E6%95%B8-474b3a3a-8a26-4f44-b491-92b6306fa261