Bagaimana saya bisa menampilkan nama lembar kerja saat ini di sel?

13

Saya ingin dapat menampilkan nama lembar kerja saat ini di sel pada lembar kerja itu.

Bagaimana saya bisa melakukan itu tanpa menggunakan skrip VBA?

Jika itu penting, rasa khusus Excel yang sedang saya kerjakan adalah 2007, tapi saya lebih suka sesuatu versi agnostik mungkin.

bir
sumber

Jawaban:

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

Buku kerja perlu disimpan sebelum fungsi ini berfungsi.

Kunci fungsinya adalah =CELL("filename",A1), yang mengembalikan string berguna yang mencakup jalur file, nama file, dan nama lembar kerja:C:\Users\john.smith\Desktop\[Test.xlsx]Sheet1

Lihat:

Dane
sumber
Referensi sel A1bersifat opsional, bukan?
ale
2
Ini bekerja untuk saya:=RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename")))
ale
2
Anda dapat menghilangkan referensi sel dan tidak masalah jika Anda hanya memiliki satu fungsi Cell () dalam file. Namun, jika Anda menggunakan fungsi sel untuk menunjukkan nama sheet pada setiap sheet, Anda memerlukan referensi A1, jika tidak setiap sheet akan menunjukkan nilai yang sama. Nilai mana yang ditampilkan tergantung pada rumus mana yang terakhir dihitung ulang. Jadi, letakkan rumus di Sheet1, Sheet2, Sheet3, tanpa referensi ke A1. Ketika Anda menghitung ulang Sheet3, itu akan menampilkan "Sheet3". Pergi ke Sheet1 dan itu juga akan menampilkan "Sheet3". - Mungkin bukan yang kamu inginkan. Tetapi dengan referensi sel, formula akan bekerja seperti yang diharapkan.
teylyn
6
Sedikit lebih pendek .....=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,32)
barry houdini