Excel'de Bir Karakterin Son Bulunduğu Yerin Konumunu Bulun

Bu öğreticide, Excel'de bir dizede bir karakterin son oluşumunun konumunu nasıl bulacağınızı öğreneceksiniz.

Birkaç gün önce bir meslektaşım bu sorunla karşılaştı.

Aşağıda gösterildiği gibi bir URL listesi vardı ve son eğik çizgiden (“/”) sonraki tüm karakterleri çıkarması gerekiyordu.

Örneğin, https://example.com/archive/ adresindenOcak 'Ocak' çıkarmak zorunda kaldı.

URL'lerde yalnızca bir eğik çizgi olsaydı gerçekten kolay olurdu.

Sahip olduğu şey, farklı uzunluklarda ve farklı sayıda eğik çizgi içeren URL'lerde binlerce kişiden oluşan devasa bir listeydi.

Bu gibi durumlarda, püf noktası, URL'de eğik çizginin son oluşumunun konumunu bulmaktır.

Bu eğitimde size bunu yapmanın iki yolunu göstereceğim:

  • Excel formülü kullanma
  • Özel bir işlev kullanma (VBA aracılığıyla oluşturulmuş)

Excel Formülünü Kullanarak Bir Karakterin Son Konumunu Alma

Son oluşumun konumuna sahip olduğunuzda, SAĞ işlevini kullanarak sağındaki herhangi bir şeyi kolayca çıkarabilirsiniz.

İşte eğik çizginin son konumunu bulan ve sağındaki tüm metni çıkaran formül.

=SAĞ(A2,UZUNLUK(A2)-BUL("@",YEDEK(A2,"/","@",UZUNLUK(A2)-UZUNLUK(YEDEK(A2,"/",""))),1 )) 

Bu formül nasıl çalışır?

Formülü parçalayalım ve her bir parçasının nasıl çalıştığını açıklayalım.

  • YEDEK(A2”/”,“”) - Formülün bu kısmı, eğik çizgiyi boş bir dizeyle değiştirir. Örneğin, eğik çizgi dışında herhangi bir dizenin oluşumunu bulmak istiyorsanız, bunu burada kullanın.
  • UZUNLUK(A2)-UZUNLUK(YEDEK(A2”/”,“”)) - Bu kısım size dizide kaç tane eğik çizgi olduğunu söyleyecektir. Basitçe, eğik çizgi olmadan dizenin uzunluğunu, eğik çizgili dizenin uzunluğundan çıkarır.
  • İKAME(A2,”/”,”@”,UZUNLUK(A2)-UZUNLUK(YEDEK(A2,”/”,””))) - Formülün bu kısmı, son eğik çizgiyi @ ile değiştirir. Fikir, bu karakteri benzersiz kılmaktır. İstediğiniz karakteri kullanabilirsiniz. Yalnızca benzersiz olduğundan ve dizede görünmediğinden emin olun.
  • BUL(“@”,YEDEK(A2,”/””,”@”,UZUNLUK(A2)-UZUNLUK(YEDEK(A2,”/”,””))),1) - Formülün bu kısmı size son eğik çizginin konumunu verir.
  • UZUNLUK(A2)-BUL(“@”,YEDEK(A2,”/”,”@”,UZUNLUK(A2)-UZUNLUK(YEDEK(A2,”/”,””))))1) - Formülün bu kısmı bize son eğik çizgiden sonra kaç karakter olduğunu söyler.
  • =SAĞ(A2,UZUNLUK(A2)-BUL(“@”,YEDEK(A2,”/”,”@”,UZUNLUK(A2)-UZUNLUK(YEDEK(A2,”/”,””)))),1 )) - Şimdi bu bize basitçe son eğik çizgiden sonraki diziyi verir.

Özel İşlevi (VBA) Kullanarak Bir Karakterin Son Konumunu Alma

Yukarıdaki formül harika ve bir cazibe gibi çalışıyor olsa da, biraz karmaşık.

VBA'yı kullanmakta rahatsanız, VBA aracılığıyla oluşturulan özel bir işlevi (Kullanıcı Tanımlı İşlev olarak da adlandırılır) kullanabilirsiniz. Bu, formülü basitleştirebilir ve bunu sık sık yapmanız gerekiyorsa zaman kazandırabilir.

Aynı URL veri kümesini kullanalım (aşağıda gösterildiği gibi):

Bu durumda, belirtilen karakterin (bu durumda eğik çizgi olan) son konumunu bulan LastPosition adlı bir işlev yarattım.

İşte bunu yapacak formül:

=SAĞ(A2,UZUNLUK(A2)-SonKonum(A2,"/")+1)

Bunun yukarıda kullandığımızdan çok daha basit olduğunu görebilirsiniz.

Bu nasıl çalışır:

  • Özel işlevimiz olan LastPosition, eğik çizginin konumunu döndürür. Bu işlev iki argüman alır - URL'ye sahip hücre referansı ve konumunu bulmamız gereken karakter.
  • SAĞ işlevi daha sonra bize eğik çizgiden sonraki tüm karakterleri verir.

İşte bu işlevi oluşturan VBA kodu:

Function LastPosition(rCell As Range, rChar As String) 'Bu fonksiyon belirtilen karakterin son konumunu verir' Bu kod Sumit Bansal tarafından geliştirilmiştir (https://trumpexcel.com) Dim rLen As Integer rLen = Len(rCell) i = rLen için 1 Adım -1 ise Mid(rCell, i - 1, 1) = rChar ise LastPosition = i Çıkış Fonksiyonu Sonraki ise Son i End Fonksiyonu

Bu işlevin çalışması için VB Düzenleyicisine yerleştirmeniz gerekir. Tamamlandığında, bu işlevi diğer normal Excel işlevleri gibi kullanabilirsiniz.

Bu kodu VB arka ucuna kopyalayıp yapıştırma adımları şunlardır:

Bu kodu VB Editörüne yerleştirme adımları şunlardır:

  1. Geliştirici sekmesine gidin.
  2. Visual Basic seçeneğine tıklayın. Bu, arka uçta VB düzenleyicisini açacaktır.
  3. VB Düzenleyicisi'ndeki Proje Gezgini bölmesinde, kodu eklemek istediğiniz çalışma kitabı için herhangi bir nesneye sağ tıklayın. Proje Gezgini'ni görmüyorsanız, Görünüm sekmesine gidin ve Proje Gezgini'ne tıklayın.
  4. Ekle'ye gidin ve Modül'e tıklayın. Bu, çalışma kitabınız için bir modül nesnesi ekleyecektir.
  5. Modül penceresindeki kodu kopyalayıp yapıştırın.

Artık formül, çalışma kitabının tüm çalışma sayfalarında mevcut olacaktı.

Çalışma kitabını, içinde bir makro olduğu için .XLSM biçiminde kaydetmeniz gerektiğini unutmayın. Ayrıca, bu formülün kullandığınız tüm çalışma kitaplarında olmasını istiyorsanız, Kişisel Makro Çalışma Kitabına kaydedebilir veya ondan bir eklenti oluşturabilirsiniz.

Aşağıdaki Excel Eğitimlerini de Beğenebilirsiniz:

  • Excel'de Kelime Sayısı Nasıl Alınır.
  • DÜŞEYARA Birden Çok Kriterle Nasıl Kullanılır.
  • Excel'de Bir Listede Arama Değerinin Son Oluşumunu Bulun.
  • Excel'de Substring'i çıkarın.
wave wave wave wave wave