[算表] Excel如何以INDIRECT函數間接引用

看板Office作者時間6年前 (2019/05/11 22:17), 6年前編輯推噓2(2019)
留言21則, 4人參與, 6年前最新討論串1/1
Excel如何以INDIRECT函數間接引用 網誌圖文版: https://www.b88104069.com/archives/4387 Excel強大之處在於將工作表分成一格一格的座標方格紙,每個儲存格可以方便快速地參 照引用其他儲存格內容,進而將此參照設計在函數公式裡。這麼做衍生的好處之一,來源 資料的內容有更新時,引用儲存格或函數公式也會跟著更新。 不過,實際操作常會遇到把來源資料所在的工作表刪除,此時會發現,引用的參照或者函 數公式被切斷,變成顯示錯誤,這錯誤無法修復,即使後來補上相同名稱、相同內容結構 的工作表,仍然沒辦法將參照修補上,必須再重新操作連結一次,徒增重工。在此要介紹 如何運用INDIRECT函數,建立相對較為穩定的儲存可參照。 一、現場生產月報表,每個月都有一份,目前是一到六月,希望將其彙總。 二、最直接、最原始的方法為儲存格參照:「=一月!D2」。 三、此時如果將一月份工作表刪除,原來儲存格參照等於被切斷,顯示「=#REF!」,意思 是參照失效。 四、直接參照連結被切斷了,只能重新再引用,例如即使把更新後的一月再補入,仍然是 「=#REF!」。 五、設使一開始並非直接引用,而是間接引用:「=INDIRECT("'一月'"&"!D2")」,如此 即使後來「一月」工作表刪除,同樣會「#REF!」參照失效,但只要此活頁簿中,再次補 入「一月」工作表,又會重新建立和「一月」工作表「D2」儲存格的連結,因為透過 INDIRECT函數公式,這個連結是絶對建立在工作表名稱和儲存格位址上的,讀者可自行嘗 試看看。注意到如果是純粹文字,是遵守「=INDIRECT(+"'工作表名稱'"&"!儲存格位址 ")」這樣的規律,工作表名稱兩旁有英文單撇號「'」,儲存格位址前面有驚嘆 號「!」。 六、INDIRECT函數不僅僅用簡單的直接引用,它等於是開了一道大門,將參照引用由滑鼠 操作切換成函數公式,因此在很多場合會都能用上,例如VLOOKUP函數:「 =VLOOKUP(B1,INDIRECT(A4&"!C:D"),2,0)」。 七、同樣地,將INDIERCT函數嵌入到SUMIF函數公式中:「 =IFERROR(SUMIF(INDIRECT($A5&"!C:C"),B$1,INDIRECT($A5&"!D:D")),0)」,從這裡可 以見得,INDIRECT是相對較為進階、不容易設計閱讀的函數,但在某些特定場合,沒有此 函數會是相當麻煩,反過來說,巧妙使用INDIRECT函數大大提升效率,尤其是自動批量引 用參照的案例。 引用參照其他儲存格時,無論相同工作表或者跨工作表,滑鼠游標點選太過容易,以至於 都會忘了其實在編輯列裡非常清楚,Excel是以特定文字方式表示參照連結,縱然滑鼠點 選的好處是方便,然而滑鼠點選如同執行指令,不能建立重複大量循環的執行規則, INDIRECT函數剛好填補了這個空缺,能以函數公式間接引用的方式,依照工作表名稱和儲 存格位址建立連結。實務工作中很多場合可以設計INDIRECT函數公式達到繁瑣操作的自動 化,除了這一節所介紹範例,往後再以適當範例和各位分享。 延伸閱讀: Excel如何簡化圖表元素成報表圖像 https://www.b88104069.com/archives/4386 Excel如何更改資料排列呈現銷售統計圖表 https://www.b88104069.com/archives/4384 Excel利用數列重疊編製預算達成率圖表 https://www.b88104069.com/archives/4378 -- 周末,我們繼續Excel:精華區=>21.心得=>5.其他=>3.office 會計人的Excel小教室: https://www.facebook.com/acctexcel -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.20.97.80 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1557584222.A.56F.html

05/11 23:11, 6年前 , 1F
先說第五點寫到的"注意到如果是純粹文字,必須遵守「=
05/11 23:11, 1F

05/11 23:11, 6年前 , 2F
INDIRECT(+"'工作表名稱'"&"!儲存格位址")」這樣的規律,
05/11 23:11, 2F

05/11 23:11, 6年前 , 3F
工作表名稱兩旁必須有英文單撇號「'」",以上方所舉的例子
05/11 23:11, 3F

05/11 23:11, 6年前 , 4F
=INDIRECT("'一月'"&"!D2"),這裡的工作表名稱就不一定必
05/11 23:11, 4F

05/11 23:11, 6年前 , 5F
須置於單引號中,那有什麼情況下需置於單引號中,如連結
05/11 23:11, 5F

05/11 23:11, 6年前 , 6F
,a欄為沒有置於單引號,
05/11 23:11, 6F

05/11 23:11, 6年前 , 7F
b欄則有。因此不一定"必須"有單引號,但如有連結內的命名
05/11 23:11, 7F

05/11 23:11, 6年前 , 8F
情況時則要。
05/11 23:11, 8F

05/11 23:13, 6年前 , 9F
將INDIERCT函數嵌入到FIERROR函數公式中,因無FIERROR函數
05/11 23:13, 9F

05/11 23:13, 6年前 , 10F
,這方面請修正一下
05/11 23:13, 10F

05/11 23:51, 6年前 , 11F
其實一直以來都不了解單引號的作用耶,不加好像也沒出事過
05/11 23:51, 11F

05/11 23:54, 6年前 , 12F
S大那張圖的意思是指,當工作表名稱含有特殊符號(或名稱由
05/11 23:54, 12F

05/11 23:54, 6年前 , 13F
特殊符號開頭?),才需要加上單引號嗎?
05/11 23:54, 13F

05/12 00:28, 6年前 , 14F
上方回文測試是特殊符號於開頭時;如果不是開頭的話,
05/12 00:28, 14F

05/12 00:28, 6年前 , 15F
,測試上.(點號)是否置於
05/12 00:28, 15F

05/12 00:28, 6年前 , 16F
單引號中都無回傳錯誤。置於最後https://i.imgur.com/
05/12 00:28, 16F

05/12 00:28, 6年前 , 17F
iTCAyHy.jpg,同上。因此不一定是含有特殊符號時就需加上
05/12 00:28, 17F

05/12 00:28, 6年前 , 18F
單引號,如測試上的點號,要視於工作名稱出現的位置。
05/12 00:28, 18F

05/12 00:29, 6年前 , 19F
連結截斷,重貼
05/12 00:29, 19F
※ 編輯: moodyblue (112.20.97.80), 05/12/2019 03:21:03 ※ 編輯: moodyblue (64.64.108.39), 05/12/2019 03:41:26

05/12 03:41, 6年前 , 20F
已修正,謝謝指教!
05/12 03:41, 20F

05/13 09:58, 6年前 , 21F
05/13 09:58, 21F
文章代碼(AID): #1SrjbULl (Office)