在 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" | 儲存格欄寬四捨五入成整數值。每個欄寬單位都等於預設字型大小的一個字元寬度。 |
全站熱搜
留言列表