Geçerli dosya adını Excel'de nasıl eklersiniz?


14

İlgilenilen Excel elektronik tablosunda bir formül kullanarak üzerinde çalıştığım dosya adını görüntülemeye çalışıyorum. Örneğin, dosya workbook1.xlsx olarak adlandırılmışsa, A1 hücresinin "workbook1.xlsx" göstermesini isterim

Microsoft'un yardım sitesinin verdiği formül işe yaramıyor: http://office.microsoft.com/en-us/excel-help/insert-the-current-excel-file-name-path-or-worksheet-in- bir hücre-HA010103010.aspx # BMinsert3

= MID (HÜCRE ("dosyaadı"), ARAMA ("[", HÜCRE ("dosyaadı")) + 1, ARAMA ("]", HÜCRE ("dosyaadı")) - ARAMA ("[", HÜCRE ("dosya adı) ")) - 1)


Hangi şekilde çalışmıyor? Hangi çıktıyı veriyor? Çalışma kitabını kaydettiniz mi?

Yanıtlar:


14

Burada çalışıyor, ben sadece Excel 2007 (XP) ve Excel 2013 (Windows 8) üzerinde test ettim.

=CELL("filename")Sorun gidermeye yardımcı olması için önce yalnız deneyin .

  • Çalışma kitabınızı diske kaydettiğinizden emin olun. Formülü kaydedilmemiş yeni bir çalışma kitabına koyarsanız "Kitap1" gösterilmez.

  • Bilgisayarınızda İngilizce olmayan bölgesel ayarları mı kullanıyorsunuz? İşlev adlarının ve formül sözdiziminin ayarlanmasını gerektiren bazı diller (örneğin, Fransızcada virgül yerine noktalı virgül kullanılmalıdır).

  • Kişisel bilgisayarınızda veya bir işyeri bilgisayarında mısınız? Bir iş bilgisayarıysa, sorunlara neden olan kullanıcı hakları sınırlamaları olabilir.

"Bu işe yaramaz" derken daha spesifik olabilir misin? Formülü yazıldığı gibi kabul ediyor mu? Hücre boş, "# DEĞER!" Vb. Gösteriliyor mu? Sadece kullanırken ne olur =CELL("filename")?


Sanırım bir boşluğum falan vardı, şimdi çalışıyor. Teşekkürler!
timothy.s.lau

Excel 2015 beta sürümünde çalışmıyor gibi görünüyor.
Akku


1
Bulunduğum yere göre virgül karakterini noktalı virgül olarak değiştirene kadar benim için işe yaramadı.
mavrosxristoforos

9

Not =CELL("filename")size yolu verir son çalışma kitabında / değiştirilen çalışma sayfası size 2 çalışma kitapları açmak zorunda eğer öyleyse, abc ve xyz ve en son o ve karşılığında yansıtacaktır abc formülün xyz bir değer değişirse Formülünüzdeki, abc olduğunuxyz.xlsx

Bu nedenle, genellikle bir hücre referansı (herhangi bir hücre referansı), örn.

= HÜCRE ("dosya adı", A1 )

Bu sürümü kullanmak, yalnızca formülün bulunduğu çalışma kitabının çalışma kitabı adını alacağınız anlamına gelir.

Bu biraz daha kısa versiyonu kullanabilirsiniz

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


2

Ben sadece dosya adını döndürmek için "en basit" formül olarak buldum :

=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)),"""")"

Tam yolu döndürmek için aşağıdakiler yapılır :

=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

Aynı sorunu vardı (yapıştırılan formül işe yaramadı)! Ben yerini kez ,tarafından ;formülde mükemmel çalıştı.

= MID (HÜCRE ("dosyaadı"); ARA ("["; HÜCRE ("dosyaadı")) + 1; ARAMA ("]"; HÜCRE ("dosyaadı")) - ARAMA ("["; HÜCRE ("dosya adı) ")) - 1)


Bunun Excel'in Euro sürümünü kullandığınızdan kaynaklandığına inanıyorum. Euro sürümü, işlev parametreleri için virgül yerine noktalı virgül kullanır. Uluslararası sürüm de virgül kullanıyorum.
krowe2

Gerçekten hangi excel sürümünü çalıştırdığınız değil, bölgesel ayarlarda kullandığınız 'sınırlayıcı' meselesi.
deroby

1

Daha basit bir çözüm şudur:

Excel dosyanızda , Uygulamalar için Microsoft Visual Basics'i (VBA) açan Alt+ tuşuna basın F11. VBA'da Insert > Moduleaşağıdaki kodu seçin ve yapıştırın

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

Excel dosya türü formülde: =GetMyProp("Title"). Bu, seçilen hücrede belgenizin başlığını gösterir.


1

Flemenkçe'de excel kullanıyorsanız, Hollandaca işlev adlarını ve virgül yerine noktalı virgül kullanmalısınız:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.