在 Excel 中如果某個儲存格內容要關聯至另一個工作表的某個儲存格,其公式為:
儲存格=工作表名稱!儲存格名稱
如果你要使用公式將工作表名稱以變數方式來處理,則必須藉助 INDIRECT 函數來將字串轉換為位址。
參考下圖,其中有三類的工作表名稱:工作表1、AAA、1。
你可以在 INDIRECT 函數中如此設定:
(1) 儲存格D2:=INDIRECT(C2&"!A2")
(2) 儲存格D2:=INDIRECT("'" & C2&"'!A2")
兩者差在工作表名稱有使用「'」來含括,在本例二式的結果都正確。
如果你的工作表名稱是數值,要以變數來處理,則公式改為:
(1) 儲存格D8:=INDIRECT(ROW(1:1)&"!A2")
(2) 儲存格D8:=INDIRECT("'" & ROW(1:1)&"'!A2")
如果你把工作表名稱中的數值部分改以變數來處理,則公式改為:
(1) 儲存格D2:=INDIRECT("工作表" & ROW(1:1) &"!A2")
(2) 儲存格D2:=INDIRECT("'工作表" & ROW(1:1) &"'!A2")
以上的說明,你能理解嗎?
現在問題來了:如果將「工作表1」改為「工作表 1」(其中有插入一個空格)
則原來的公式結果產生了差異:
(X) 儲存格D2:=INDIRECT(C2&"!A2")
(O) 儲存格D2:=INDIRECT("'" &C2&"'!A2")
如果你的工作表名稱中有空格,則公式中的工作表名稱變數一定要用「'」含括。
因為 =INDIRECT(C2&"!A2") 在執行時被轉換為:
=INDIRECT("工作表 1!A2")
但這是錯誤的,轉換成以下才是正確的!
=INDIRECT("'工作表 1'!A2")
【延伸閱讀】
* Excel-表格轉換(MATCH,INDIRECT,OFFSET)
* Excel-根據成績計算各班最高分和最低分和各科之頂標、前標、均標、後標、底標(INDIRECT,MAX,MIN,SMALL,陣列公式)
* Excel-不因在第一列插入資料或是在最後一列新增資料而改變公式(INDIRECT,OFFSET,COUNT)
* Excel-利用SUMPRODUCT、WEEKDAY、INDIRECT計算今天起的日期區間中特定星期幾的數量
* Excel-將數字的每一位元加總(SUMPRODUCT,MID,ROW,LEN,INDIRECT)
* Excel-依字母順序轉換26進制數值(INDIRECT,COLUMN)
* Excel-由Google表單填答結果計算各個班級在各個題目的平圴(INDIRECT,SUMPRODUCT)

*****
*****
*****
您好,想請教excel一個公式的問題,工作表1是薪資總表,工作表2是每人的薪資條例如..... 工作表1: 姓名 工資 伙食費 扣薪 合計 小明 10,000 2,400 200 12,200 小華 20,000 2,400 300 22,100 小英 25,000 2,400 350 27,050 工作表2: 姓名 小明 姓名 小華 工資 10,000 工資 20,000 伙食費 2,400 伙食費2,400 扣薪 200 扣薪 300 合計 12,200 合計 22,100 工作表2的各項金額要怎麼下公式,才能連結工作表1對應的金額呢??
請參考:http://isvincent.pixnet.net/blog/post/46489126
請問如果我的工作表名稱為A01~A15,B01~B5,C01~C35....共四百多張工作表,我用INDIRECT("A0"&ROW(1:1)&"!C7"),來提取每個工作表的C7儲存格,但是發現到A9工作表還正常能夠找到各工作表的C7儲存格數值,但A10開始的工作表都讀不到,會出現#REF!,請問該怎麼修正呢?感謝…
請問我想設定只有一個品項,但有分數量多寡而金額不同,能借由表單出現每人的最後金額,例一個150/二個280/三個350,A小姐買2個,V小姐買3個,能算出各應付多少的結論?
*****
如何讓字的顏色也相同直接連結呢
=HLOOKUP("aaa",INDIRECT("工作表1!$A$1:$Z$100"),1,false) 請問我想找工作表1的內容為"aaa"欄位的右邊第二欄位應該要如何改呢 ? 謝謝 ~
因為對你所提問題的題意不甚了解,所以先寫了一篇觀念文章:http://isvincent.pixnet.net/blog/post/47767572給你參考。
=HLOOKUP("aaa",INDIRECT("sheet1!$A$1:$Z$100"),1,false) 請問我想找工作表1的內容為"aaa"欄位(假設為B1)的右邊第二欄位(D1)的內容應該要如何改呢 ? 謝謝 ~
因為對你所提問題的題意不甚了解,所以先寫了一篇觀念文章:http://isvincent.pixnet.net/blog/post/47767572給你參考。
您好,我想請教一下excel問題 假設工作表1的欄位及資料太滿(ex:欄A:員工編號,欄B:姓名,欄C:工作地,欄D:部門,欄E:職稱...等),但想在工作表2直接統計工作表1的欄D:部門→統計各部門的筆數,需要怎麼改呢? (因為爬了很多文,操作時函數還是一直出現錯誤,懊惱了很久...) 謝謝!!!
您好,想請教EXCEL問題 工作表1 -欄位有業務A(北部)、B兩位(中部),即其負責的客戶 107.5月-A業務離職,其B業務暫管理A業務的客戶 工作表2 -107.6月-結帳5月業績都是掛B業務的,但是還是要區分出北區,中區的客戶,如何連結工作表1來區分.3Q
感謝版主的教學,請問INDIRECT 函數,工作表名稱加上"-",如 中租-KY,就無法顯示內容,有解嗎? 謝謝!
解法文章已經有提到: 假設資料在儲存格C2,改用公式:=INDIRECT("'" & C2&"'!A2")
您好感謝版主老師的解答! 不知是我Key錯還是哪裡有問題,還是無法顯示。感謝! 1305 華夏 華夏-KY 1305 華夏 -KY aaa A5儲存格的函數 INDIRECT($C$1&$B$1&"季表!a1") #REF! A6儲存格的函數 INDIRECT(" ' " & C2 &" '!A1") aaa A7儲存格的函數 INDIRECT($C$3&$B$3&"季表!a1")
您好!感謝版主老師的解答! 所提的問題已解決了! 非常感謝!
謝謝你光臨我的部落格。
=INDIRECT("'出席會議表'!C8") 請問C8 這個是欄位號碼 如果我從C8欄位複製這個公式 然後要大量轉貼公式到其它欄位 此時貼上後 全部都還是去取C8這個欄位位置的值 有辦法複製貼上後~ 會自動改欄位的位置編號嗎? 例如我複製C8這個欄位公式 貼在D9 那這個公式中的C8 要如何自動變成D9 ??
將 =INDIRECT("'出席會議表'!C8") 改 =INDIRECT("'出席會議表'!"&ADDRESS(ROW(8:8),COLUMN(C:C))) 再複製到其他儲存格
再請教 我要如何做出 用這個公式=INDIRECT("'出席會議表'!C8") 取得值之後 如果數值是0 就不顯示出來~欄位空白 如果有數值~ 就顯示出其數值 這要如何做?
=IF(INDIRECT("'AAA'!"&ADDRESS(ROW(8:8),COLUMN(C:C)))=0,"",INDIRECT("'AAA'!"&ADDRESS(ROW(8:8),COLUMN(C:C))))
老師你好 假如我想要用match進行跨工作表比對 關於match函數裡頭的第二項lookup array 有辦法設成像此篇indirect一樣嗎? ex.: =match("ok" , "'" &R15&"'!$H$2:$H$402",0) 我照上面打始終出現#VALUE! 由於有眾多工作表需要重複執行同樣上式的函數比較 我不得不設成變數 但此問題卡了好久 請老師幫幫忙
補充 我如果將變數R15改成工作表名稱是有列號跑出來(公式如下所示) =MATCH("ok",'28-1_NG-01'!$H$2:$H$402,0) 實在不知道問題出在哪(抓頭) (R15內容確認是28-1_NG-01 用indirect代入R15去引用跨工作表某單欄列是可行的)
*****
*****
老師您好: 想請教Excel 是否可使用INDIRECT 、IF及Vlookup 來達到在某種條件下,至某個路徑的檔案抓取資料(跨不同檔案搜尋) 因為這邊不能夾圖,我把我本來發問的地方的網址附上,如果有不恰當還請跟我說!我再刪掉。 https://ithelp.ithome.com.tw/questions/10202546#answer-371663 我目前希望可以達到:在「EPS估算表.xlsm」這個檔案的中,L1可以判斷D4(D4是使用VLOOKUP公式抓出來的),如果D4是上市,就到我路徑下抓取「營收SII_098」的檔案,如果是上櫃,則是抓取OTC_098的檔案。 使用語法: =VLOOKUP(B1,INDIRECT(IF($D$4="上市","'D:\jammie1\Money\EPS估算\營收'[SII","'D:\jammie1\Money\EPS估算\營收'[OTC")&"營收_098.xlsx]09801'!$A$1:$J$1200"),3,0) 上述語法無法正確顯示 1。I4=VLOOKUP(B1,INDIRECT("I2"),3,0) 這段就變成#N/A 2。我把I1的IF條件直接放在INDIRECT裡面,就會變成#REF: 語法: =INDIRECT(IF($D$4="上市","'D:\jammie1\Money\EPS估算\營收'[SII","'D:\jammie1\Money\EPS估算\營收'[OTC")&"營收_098.xlsx]09801'!$A$1:$J$1200") ☆檔案開啟
感謝教學
謝謝你光臨我的教學網站。