Bagaimana Anda memasukkan nama file saat ini di Excel?


14

Saya mencoba melihat nama file yang sedang saya kerjakan di lembar kerja Excel yang menarik menggunakan rumus. Misalnya jika file itu bernama workbook1.xlsx maka saya ingin sel A1 menampilkan "workbook1.xlsx"

Rumus yang diberikan oleh situs bantuan Microsoft tidak berfungsi: http://office.microsoft.com/en-us/excel-help/insert-the-current-excel-file-name-path-or-worksheet-in- a-cell-HA010103010.aspx # BMinsert3

= MID (CELL ("nama file"), SEARCH ("[", CELL ("nama file")) + 1, SEARCH ("]", CELL ("nama file")) - SEARCH ("[", CELL ("nama file" ")) - 1)


Dengan cara apa itu tidak berhasil? Output apa yang diberikannya? Apakah Anda menyimpan buku kerja?

Jawaban:


14

Ini berfungsi di sini, saya baru saja menguji Excel 2007 (XP) dan Excel 2013 (Windows 8).

Coba =CELL("filename")sendiri dulu untuk membantu memecahkan masalah.

  • Pastikan Anda telah menyimpan buku kerja Anda ke disk. Itu tidak akan menampilkan "Book1" jika Anda meletakkan rumus di buku kerja baru yang belum disimpan.

  • Apakah Anda menggunakan pengaturan regional non-Inggris di komputer Anda? Beberapa bahasa yang membutuhkan penyesuaian nama fungsi dan sintaks rumus (dalam bahasa Perancis misalnya, koma harus diganti dengan titik koma).

  • Apakah Anda menggunakan komputer pribadi atau komputer di tempat kerja? Jika itu komputer kerja, mungkin ada batasan hak pengguna yang menyebabkan masalah.

Ketika Anda mengatakan "itu tidak berhasil", dapatkah Anda lebih spesifik? Apakah itu menerima formula seperti yang diketik? Apakah selnya kosong, menunjukkan "#VALUE!", Dll? Apa yang terjadi ketika hanya menggunakan =CELL("filename")?


Saya pikir saya punya ruang atau sesuatu, itu berfungsi sekarang. Terima kasih!
timothy.s.lau

Tampaknya tidak berfungsi di Excel 2015 beta.
Akku

Pastikan markup sel tempat Anda berada bersifat umum / standar (jadi bukan teks / angka, dll)
Lexib0y

1
Itu tidak berhasil untuk saya, sampai saya mengubah karakter koma menjadi semi-kolon, menurut lokal saya.
mavrosxristoforos

9

Catatan yang =CELL("filename")memberi Anda jalur ke buku kerja / lembar kerja terakhir diubah jadi jika Anda memiliki 2 buku kerja terbuka, abc dan xyz dan rumus Anda di abc, jika Anda terakhir mengubah nilai dalam xyz rumus di abc akan mencerminkan itu dan kembalixyz.xlsx

Untuk alasan itu biasanya lebih baik untuk memasukkan referensi sel (referensi sel apa saja), misalnya

= CELL ("nama file", A1 )

Menggunakan versi itu berarti bahwa Anda hanya akan mendapatkan nama buku kerja dari buku kerja tempat rumus itu berada.

Anda dapat menggunakan versi yang sedikit lebih pendek ini

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")


2

Saya menemukan ini sebagai formula "paling sederhana" untuk mengembalikan nama file saja:

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

or - created in VBA:

Formula = "=REPLACE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),1,FIND(""["",CELL(""filename"",A1)),"""")"

Untuk mengembalikan path lengkap , ini akan dilakukan:

=SUBSTITUTE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),"[","")

or - created in VBA:

Formula = "=SUBSTITUTE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),""["","""")"

1

Saya memiliki masalah yang sama (formula yang ditempelkan tidak bekerja)! Setelah saya ganti ,dengan ;dalam formula itu bekerja dengan sempurna

= MID (CELL ("filename"); SEARCH ("["; CELL ("filename")) + 1; SEARCH ("]"; CELL ("filename")) - SEARCH ("["; CELL ("nama file" ")) - 1)


Saya percaya ini karena Anda menggunakan Excel versi Euro. Versi Euro menggunakan titik koma alih-alih koma untuk parameter fungsi. Saya percaya versi internasional juga menggunakan koma.
krowe2

Ini bukan masalah versi excel yang Anda jalankan, melainkan 'pembatas' apa yang Anda gunakan di pengaturan regional.
deroby

1

Solusi yang lebih sederhana adalah ini:

Di file Excel Anda, tekan Alt+ F11, yang membuka Microsoft Visual Basics for Applications (VBA). Di VBA pilih Insert > Moduledan tempel kode berikut

Public Function GetMyProp(prop As String) As String
    GetMyProp = ThisWorkbook.BuiltinDocumentProperties(prop)
End Function

Dalam Excel jenis file rumus Anda: =GetMyProp("Title"). Ini akan menunjukkan judul dokumen Anda di sel yang dipilih.


1

Jika Anda menggunakan excel dalam bahasa Belanda, Anda harus menggunakan nama fungsi Belanda dan menggunakan titik koma alih-alih koma:

=VERVANGEN(LINKS(CEL("filename");VIND.SPEC("]";CEL("filename"))-1);1;VIND.SPEC("[";CEL("filename"));"")

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.