Note: The other languages of the website are Google-translated. Back to English

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-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 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ı
Yorumları sıralama ölçütü
Yorumlar (2)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Formül bir #DEĞER yükseltir! kaynak hücrenin yalnızca bir dosya adı varsa hata.. Tüm formülü bir EĞERHATA işlevine gömmek bu sorunu çözer, örneğin, =EĞERHATA( ,A1)
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çok kullanışlı fonksiyon. Yolda \ veya / eğik çizgi varsa, komut dosyasını dosya adını bulacak şekilde değiştirmenin bir yolu var mı?

Temeldeki yolların \ veya / (ters eğik çizgi veya eğik çizgi) ayrıldığı çeşitli köprülere sahip bir elektronik tablom var - bunun nedeni, dosyalara olan bağlantılardan bazılarının orijinal olarak Word'deki yer imleri olarak veya dahili bir dosyadaki dosyalara yapıldığını düşünüyorum. belge sunucusu. Veya bazı yol bağlantılarının mutlak ve göreli yol bağlantılarıyla yapılmasından dolayı olabilir mi?

Örneğin:

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


getfilename işlevini çalıştırdığımda, dizinler veya klasörler arasında \ ile yollarda bulunan tüm dosya adlarını aldı, ancak / eğik çizgili bağlantılar olduğu gibi döndürüldü.
Benzer olan ikinci bir işlevi değiştirdim ve ekledim, ancak 4. satırdaki "\" yerine "/" koydum ve bunu forwardslashgetfilename olarak adlandırdım ve ilk işlevi çalıştırdıktan sonra ayrı bir sütunda çalıştırdım.

Bir işlevi birbiri ardına çalıştırmak zor değil, ancak 4. satırdaki splitList işlemindeki kodu hem "\" hem de "/" içerecek şekilde genişletip genişletemeyeceğinizi merak ediyordum. VBA programcısı değilim ama splitList = VBA.Split(FullPath, "\" veya "/") denedim ve işe yaramadı.

Düşünceler? Basit bir sözdizimi olduğunu varsayıyorum - bu noktada sadece fikrim yok... ama interweb'leri kurcalamaya başlayacağım...

Tks!
Buraya henüz hiç yorum yapılmamış
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır