ฉันจะแสดงชื่อของแผ่นงานปัจจุบันในเซลล์ได้อย่างไร


13

ฉันต้องการที่จะแสดงชื่อของแผ่นงานปัจจุบันในเซลล์บนแผ่นงานนั้น

ฉันจะทำสิ่งนั้นโดยไม่หันไปใช้สคริปต์ VBA ได้อย่างไร

ถ้ามันเป็นสิ่งสำคัญรสนิยมของ Excel ที่ฉันใช้งานคือ 2007 แต่ฉันต้องการบางอย่างที่ไม่เชื่อเรื่องพระเจ้าเท่าที่จะทำได้

คำตอบ:


19
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1),1))

ต้องบันทึกสมุดงานก่อนที่ฟังก์ชันนี้จะใช้งานได้

กุญแจสำคัญในการทำงานคือ=CELL("filename",A1)ซึ่งจะส่งกลับสตริงที่มีประโยชน์ที่มีเส้นทางไฟล์ชื่อไฟล์และชื่อแผ่นงาน:C:\Users\john.smith\Desktop\[Test.xlsx]Sheet1

ดู:


การอ้างอิงเซลล์A1เป็นทางเลือกใช่หรือไม่
เบียร์

2
นี้ทำงานสำหรับฉัน:=RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename")))
เบียร์

2
คุณสามารถละเว้นการอ้างอิงเซลล์และไม่สำคัญว่าคุณจะมีฟังก์ชัน Cell () เพียงอันเดียวในไฟล์ อย่างไรก็ตามหากคุณใช้ฟังก์ชันเซลล์เพื่อแสดงชื่อชีตในแต่ละชีตคุณต้องมีการอ้างอิง A1 มิฉะนั้นแต่ละชีตจะแสดงค่าเดียวกัน ค่าใดที่แสดงจะขึ้นอยู่กับสูตรที่คำนวณใหม่ล่าสุด ดังนั้นใส่สูตรใน Sheet1, Sheet2, Sheet3 โดยไม่มีการอ้างอิงถึง A1 เมื่อคุณคำนวณ Sheet3 อีกครั้งมันจะแสดง "Sheet3" ไปที่ Sheet1 และจะแสดง "Sheet3" ด้วย - อาจไม่ใช่สิ่งที่คุณต้องการ แต่ด้วยการอ้างอิงเซลล์สูตรจะทำงานตามที่คาดไว้
teylyn

6
สั้นลงเล็กน้อย .....=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,32)
แบร์รี่ฮูดินี่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.