在 Excel 中如果要取得某個儲存格所在的工作表之名稱,要藉助 CELL 函數。
儲存格A1:=RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")))
CELL("filename"):取得活頁簿的完整路徑。
例如:磁碟名稱:\資料夾名稱\[活頁簿名稱]工作表名稱
FIND("]",CELL("filename")):搜尋「]」的位置。
LEN(CELL("filename")):計算檔案完整路徑的總字元數。
利用 RIGHT 函數取得「]」右邊的全部字元,即為工作表名稱。
若參考之前的文章為例:
Excel-自動抓取前一年度工作表來計算(http://isvincent.blogspot.tw/2012/11/excel_23.html)
儲存格B1:=RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")))
儲存格B2:=SUM(INDIRECT(LEFT(B1,LEN(B1)-1)-1&"年!A2:A3"))
工作表中的內容會依工作表名稱(101年)所指的年度來計算前一年(100年)的資料:
【補充資料】
語法:CELL(info_type, [reference])
| info_type | 傳回 |
| "address" | 以文字形式表示 reference 中第一個儲存格的位址。 |
| "col" | Reference 中儲存格的欄名。 |
| "color" | 如果儲存格設定為會因負數而改變色彩的格式,則傳回 1;否則傳回 0 (零)。 |
| "contents" | 參照左上角儲存格的數值;不是公式。 |
| "filename" | 以文字形式傳回 reference 所屬文件的檔案名稱 (包含完整的路徑名稱)。如果該文件尚未存檔,則傳回空字串 ("")。 |
| "format" | 對應於數值儲存格格式的文字表示形式。各種格式的文字表示列示於以下的表格中。如果儲存格為會因負數而改變色彩,則傳回的文字值的後面會帶有負號 (-)。如果儲存格被設定為將正數或任何數值放在一組括弧中的格式時,則在傳回的文字值的後面加一組 "()"。 |
| "parentheses" | 如果儲存格格式設定為將正數或所有數值放在一組括弧中,傳回 1;否則傳回 0。 |
| "prefix" | 文字儲存格的「標籤首碼」的文字表示形式。如果該儲存格含有靠左對齊的文字時,傳回單引號 (');如果該儲存格中含有靠右對齊的文字時,傳回雙引號 (");如果該儲存格中含有置中對齊的文字時,傳回脫字符號 (^);如果該儲存格中含有填滿對齊的文字時,傳回反斜線 (\);如果該儲存格含有其他的資料,則傳回空字串 ("")。 |
| "protect" | 如果儲存格並未鎖定保護,傳回 0;如果儲存格已鎖定保護,則傳回 1。 |
| "row" | 參照位址中儲存格的列號。 |
| "type" | 儲存格中資料類型的一個對應文字值。如果該儲存格是空白的,傳回「b」(代表 blank),如果該儲存格含有文字常數,則傳回標籤「l」(代表 label);如果該儲存格中含有其他類別的資料,則傳回「v」(代表 value)。 |
| "width" | 儲存格欄寬四捨五入成整數值。每個欄寬單位都等於預設字型大小的一個字元寬度。 |
文章標籤
全站熱搜

您好~想請問您,我想將我每個工作表的名稱自動改成某一個儲存格欄位的內容,這要如何做呢?很急~請您教我,謝謝! yenyen114@hotmail.com
*****
*****
請問要如何使用儲存格設定檔案路徑與名稱來開啟活頁簿並將儲存格複製到使用中活頁簿
請參考以前的文章:http://isvincent.pixnet.net/blog/post/43936108
*****
*****
請問可以加我入去你個Blog ? **(http://isvincent.blogspot.tw/2012/11/excel_23.html) 我是你多年的追逐者. ^.^ my email address: loipouio@gmail.com
因為我停用了Blogger的部落格,改為全部在Pixnet為主,並且同步置於Google+中,你也可以加入:https://plus.google.com/+shihwenhsien。
請問一下,我想要將多個工作表的名稱,顯示在各別工作表的A1儲存格中,用版大您的方法,在工作表1 A1儲存格中輸入 =RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))),在A1儲存格中顯示確為 "工作表1",但一在工作表2中做同樣的動作,原來在工作表1的A1也會被改成 "工作表2",好像所有工作表會全部更改為最後一次輸人該公式的工作表名稱; 後來在網路找到其他方式,以定義名稱方式 ,如 定義名稱 MCB ,參照到 =GET.CELL(62)方式,雖然會抓取該工作表名稱,但一但更改工作表名稱,儲存格卻無法自動更新。得在A1儲存格重新輸入=MCB, 才會更新。 我想要作的是先建立一個工作表當樣本,當有新案子,直接複製樣本工作表,再將工作表名稱改為案號,A1欄位會直接顯示案號,其他欄位再根據A1欄位的案號,VLOOKUP符合的相關資料。請教版大,有何方法可以達成,謝謝~
非常受用,幫了我很大的忙
謝謝你光臨我的網站。
請問一下,我想要將多個工作表的名稱,顯示在各別工作表的A1儲存格中,用版大您的方法,在工作表1 A1儲存格中輸入 =RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))),在A1儲存格中顯示確為 "工作表1",但一在工作表2中做同樣的動作,原來在工作表1的A1也會被改成 "工作表2",好像所有工作表會全部更改為最後一次輸人該公式的工作表名稱 要怎麼做才不會變動?謝謝!
我找到訪客9的問題解答啦,困擾了好久 @_@ 在sheet B1格中顯示當前工作表名稱(XXX)時,要填入以下公式: =RIGHT(CELL("filename", B1),LEN(CELL("filename", B1))-FIND("]",CELL("filename", B1))) B1一定要寫, 否則在同一活頁簿的另一個工作表(YYY)設定要取得其工作表名稱時會錯亂,會導致先前設定的工作表(XXX)名稱被改掉,被誤改成新設的工作表(YYY)名稱,這不是我所要的。 參考自https://stevenchen886.blogspot.com/2017/05/excel.html
謝謝你光臨我的教學部落格。也感謝大家提供有用的資訊,非常感恩!
非常感謝您的分享,在您的blog學到很多超有用的 Excel 技巧。 同時也非常感謝 #9 的問題、#10 熱心好人的解惑, 祝各位每天愉快 ^_^
謝謝你光臨我的教學部落格。也感謝大家提供有用的資訊,非常感恩!
感謝訪客10, 遇到跟訪客9一樣的問題, 搜尋好多網頁沒有找到解答, 最後才發現這邊的留言處的公式, 順利用訪客10提供的公式解決了, 非常感謝^^
謝謝你光臨我的教學部落格。也感謝大家提供有用的資訊,非常感恩!
謝謝9樓、10樓,我也有一樣的問題,B1 太強
謝謝你光臨我的教學部落格。也感謝大家提供有用的資訊,非常感恩!