Note: The other languages of the website are Google-translated. Back to English
Oturum aç  \/ 
x
or
x
Kaydol  \/ 
x

or

Dosya adını Excel'de tam yoldan hızlı bir şekilde nasıl çıkarabilirim?

Dosya yollarının bir listesini içeren bir çalışma sayfanız olduğunu varsayarsak, şimdi aşağıda gösterilen ekran görüntüleri gibi her yoldan sadece dosya adını (son ters eğik çizginin sağ kısmı) çıkarmak istiyorsunuz. Bu görevin üstesinden gelmek için herhangi bir hızlı numara var mı?

Excel'deki formülle dosya adını tam yoldan çıkarın
Kullanıcı Tanımlı İşlev ile tam yoldan dosya adını çıkarın
VBA kodu ile dosya adını tam yoldan ayıklayın


Excel'deki formülle dosya adını tam yoldan çıkarın

Excel'de, yalnızca dosya adını tam yoldan hızlı bir şekilde çıkarmak için aşağıdaki formülü kullanabilirsiniz.

Boş bir hücre seçin, aşağıdaki formülü içine girin ve ardından Keşfet tuşuna basın.

=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))

İpuçları: A1, dosya adını çıkarmak istediğiniz hücredir) ve Enter düğmesine basın, ardından istediğiniz aralığı doldurmak için dolgu tutamacını sürükleyin. Bundan sonra, dosya adı her hücreden çıkarılır.

doc özü name1


Kullanıcı Tanımlı İşlev ile tam yoldan dosya adını çıkarın

Aşağıdaki Kullanıcı Tanımlı İşlev ile dosya adını kolay ve hızlı bir şekilde alabilirsiniz.

1. Basılı tutun ALT + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic penceresi.

2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresi.

Function FunctionGetFileName(FullPath As String) As String
'Update 20140210
Dim splitList As Variant
splitList = VBA.Split(FullPath, "\")
FunctionGetFileName = splitList(UBound(splitList, 1))
End Function

3. Basın Ara Toplam + Q kapatmak için anahtarlar Uygulamalar için Microsoft Visual Basic penceresini açın ve çalışma sayfasına geri dönün. Örneğin B1 boş bir hücrede, aşağıdaki formülü içine girin ve Keşfet tuşuna basın.

=FunctionGetFileName(A1)

doc-extract-filenames1

Ardından B1 hücresini tekrar seçin, doldurma tutamacını bu formülü uygulamak istediğiniz aralığa sürükleyin ve aşağıdaki sonuç olarak tüm dosya adları tam yollardan çıkarılmıştır:

doc-extract-filenames1


VBA kodu ile dosya adını tam yoldan ayıklayın

Kullanıcı Tanımlı İşlevin yanı sıra, bir VBA kodu da dosya adlarını çıkarmanıza yardımcı olabilir. Lütfen şunu yapın:

1. Basılı tutun ALT + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic Penceresi.

2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresine yapıştırın.

Sub GetFileName()
'Update 20140210
Dim Rng As Range
Dim WorkRng As Range
Dim splitList As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    splitList = VBA.Split(Rng.Value, "\")
    Rng.Value = splitList(UBound(splitList, 1))
Next
End Sub

3. Daha sonra tuşuna basın. F5 Bu kodu çalıştırmak için anahtar ve dosya adını çıkarmak istediğiniz aralığı seçin, ekran görüntüsüne bakın:

doc-extract-filenames1

4. Ve sonra tıklayın OKdosya adları aşağıdaki gibi seçimden çıkarılmıştır:

not: Bu VBA kodu ile orijinal veriler imha edilecek, bu nedenle bu kodu uygulamadan önce bir tane kopyalamanız gerekir.


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2019 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay dağıtım. Tam özellikli 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Rese · 1 years ago
    Very useful function. Is there a way to modify the script so it finds the filename if the path has either \ or / slashes?

    I have a spreadsheet with various hyperlinks where the underlying paths are either \ or / (back slash or forward slash) separates - I think its because some of the links to files were done just as bookmarks in Word originally, or to files on an internal doc server. Or maybe its because some path links are made with absolute vs relative path links?

    eg:

    ../../../../Documents/2ndQuarter/2019/standardcost_widget12345.pdf
    or
    \fileserver\factory23\Operations\Parts_Mgt\Documents\2ndQuarter\2019\standardcost_widget12345.pdf


    When I ran the getfilename function, it got all the filenames that were in paths with \ between directories or folders, but the links with / slashes were returned as is.
    I altered & added a second function that was similar but replaced the "\" in line 4 with "/" and called it forwardslashgetfilename and run it in a separate column after I run the first function.

    Running one function after another is not difficult, but I was curious if you can expand the code in splitList operation in line 4 to include both "\" or "/". I'm no VBA programmer but I tried splitList = VBA.Split(FullPath, "\" or "/") and it didn't work.

    Thoughts? I'm assuming its some simple syntax - I'm just clueless at this point... but I will start poking around the interwebs...

    Tks!
  • To post as a guest, your comment is unpublished.
    bob · 3 years ago
    The formula raises a #VALUE! error if the source cell has only a filename to begin with.. Embedding the entire formula in an IFERROR function solves this problem, e.g., =IFERROR(<orig formula>,A1)