Excel'de Metin Parçalarını Ayıklama: Basitten Karmaşığa
Excel'de bir metin parçasını çıkarmak için METİNSONRA (yeni sürümler için) veya PARÇAAL ile BUL kombinasyonunu kullanın. Bir karakterden sonraki metni elde etmek için formül şu şekildedir: =METİNSONRA(A1; ";"). İki ayırıcı arasındaki satırın orta kısmını ayıklamanız gerekiyorsa, konum arama fonksiyonlarını iç içe geçirin. Aşağıda programın farklı sürümleri ve belirli görevler için hazır çözümler sunulmaktadır.
Belirli Bir Karakterden Sonra Metin Ayıklama
Belirli bir işaretten (virgül, tire, boşluk) sonra gelen her şeyi elde etme görevi, Excel sürümünüze bağlı olarak farklı şekillerde çözülür.
Modern sürümler için yöntem (Excel 365, 2021+)
En basit yöntem METİNSONRA (İngilizce TEXTAFTER) fonksiyonunun kullanılmasıdır. Bu fonksiyon otomatik olarak ayırıcıyı bulur ve satırın geri kalanını döndürür.
=METİNSONRA(A2; "-")
Eğer A2 hücresinde Ürün-12345 yazıyorsa, formül 12345 değerini döndürür.
METİNSONRA fonksiyonu varsayılan olarak büyük/küçük harf duyarlılığını yoksayar. Büyük/küçük harfe duyarlı kesin bir arama gerekiyorsa, sona 1 argümanını ekleyin: =METİNSONRA(A2; "-"; ; ; ; 1).
Evrensel yöntem (Tüm Excel sürümleri)
Eski sürümlerde PARÇAAL, BUL ve UZUNLUK fonksiyonlarının kombinasyonu kullanılır. Mantık şöyledir: karakterin konumunu bulun, bir ekleyin (bir sonraki işaretle başlamak için) ve satır uzunluğunun geri kalanını alın.
Noktalı virgülden sonraki tüm metni ayıklamak için formül:
=PARÇAAL(A2; BUL(";"; A2) + 1; UZUNLUK(A2))
Çalışma prensibi:
BUL(";"; A2)—;karakterinin konum numarasını belirler.+ 1— ayıklama başlangıcını bir karakter sağa kaydırır.UZUNLUK(A2)— hücrenin sonuna kadar kalan tüm metnin yakalanmasını garanti eder.
Ayırıcı satırda yoksa, BUL fonksiyonu #DEĞER! hatası döndürür. Bunu önlemek için formülü EĞERHATA içine alın:
=EĞERHATA(PARÇAAL(...); "")
Karakterin son geçtiği yerden sonraki metni elde etme
Standart fonksiyonlar ilk geçişi arar. Son ayırıcıdan sonraki metni elde etmek için (örneğin C:\Klasör\Soyadı yolundan soyadını almak), boşluklarla değiştirme hilesini kullanın:
=YENİLEME(SAĞDAN(YERİNEKOY(A2; "\"; YINELE(" "; 100)); 100))
Bu formül tüm ters eğik çizgileri uzun boşluk zincirleriyle değiştirir, ardından sağdaki 100 karakteri keser ve YENİLEME fonksiyonuyla fazla boşlukları temizler.
Satırın Orta Kısmı Nasıl Ayıklanır
Metnin orta kısmını çıkarmak, istenen parçanın başlangıç ve bitiş konumlarının bilinmesini gerektirir.
Aynı iki ayırıcı arasındaki metin
Sık karşılaşılan bir görev: Kod-Deger-Tarih biçimindeki bir satırda ilk ve ikinci tire arasındaki değeri elde etmek.
=PARÇAAL(A2; BUL("-"; A2) + 1; BUL("-"; A2; BUL("-"; A2) + 1) - BUL("-"; A2) - 1)
Çalışma prensibi:
- İlk
BULilk tirenin konumunu bulur (sayma başlangıcı). - İkinci
BUL(iç içe geçmiş), aramaya ilkinden hemen sonra başlayarak ikinci tireyi arar. - Konum farkından 1 çıkarılması, istenen parçanın uzunluğunu verir.
Ortadan sabit sayıda karakter ayıklama
Örneğin, içeriğinden bağımsız olarak satırın tam ortasından 5 karakter almak gerekiyorsa:
=PARÇAAL(A2; YUVARLA(UZUNLUK(A2)/2 - 2; 0); 5)
Burada UZUNLUK(A2)/2 merkezi bulur, -2 başlangıcı geriye kaydırır (çünkü 5 karakter我们需要: 2 sol, 1 merkez, 2 sağ) ve YUVARLA ondalık kısmı ortadan kaldırır.
Ayırıcıların çok olduğu ve belirli bir öğenin seçilmesi gereken karmaşık durumlarda (örneğin bir cümledeki üçüncü kelime), Excel 365'te satırı bir diziye dönüştüren ve gerekli indeksi almanıza olanak tanıyan METİNAYIR (TEXTSPLIT) fonksiyonunu kullanmak daha uygundur.
Metin İşleme Yöntemlerinin Karşılaştırılması
| Görev | Önerilen Fonksiyon (Yeni Sürümler) | Alternatif (Eski Sürümler) | Zorluk |
|---|---|---|---|
| Karakterden sonraki metin | METİNSONRA | PARÇAAL + BUL | Düşük |
| Karakterden önceki metin | METINONCE | SOLDAN + BUL | Düşük |
| İki işaret arasında | İç içe METİNSONRA/METINONCE | PARÇAAL + çift BUL | Orta |
| Son işareten sonra | METİNSONRA (numara argümanı ile) | YERİNEKOY + SAĞDAN | Yüksek |
| Parçalara bölme | METİNAYIR | Metni Sütunlara Dönüştür (menü) | Orta |
Metinle Çalışırken Sık Yapılan Hatalar
- Karakter olmadığında #DEĞER! hatası.
BULveARAfonksiyonları olmayanı bulamaz. Arızalardan korunmak için her zamanEĞERHATA(formül; "Hata_Metni")kullanın. - Sonuçta fazla boşluklar.
Alt dizeleri ayıklarken genellikle gizli boşluklar da yakalanır. Verileri temizlemek için nihai formülü
YENİLEME(TRIM) içine alın. - BUL ve ARA karışıklığı.
BUL(FIND) — büyük/küçük harfe duyarlıdır (A ≠ a).ARA(SEARCH) — büyük/küçük harfi yoksayar ve joker karakterleri (?,*) destekler. Gerekli hassasiyete göre fonksiyonu seçin.
SSS
Bir karakterin ikinci geçişinden sonraki metin nasıl ayıklanır?
Örnek numarasını belirterek METİNSONRA fonksiyonunu kullanın: =METİNSONRA(A1; "-"; 2). Eski sürümlerde, arama başlangıç konumunu kaydırarak BUL ile formülü iki kez uygulamak gerekir.
Bu formüller tarihler için kullanılabilir mi?
Evet, eğer tarih metin olarak saklanıyorsa. Bu bir Excel tarih formatıysa, önce METİN(hücre; "GG.AA.YYYY") aracılığıyla metne dönüştürün, ardından ayıklama fonksiyonlarını uygulayın.
Ayırıcı birden fazla karakterden oluşuyorsa (örneğin " -> ") ne yapmalı?
METİNSONRA ve BUL fonksiyonları çok karakterli ayırıcılarla mükemmel çalışır. Tırnak içinde tüm karakter zincirini belirtmeniz yeterlidir: =METİNSONRA(A1; " -> ").