İçeriğe geç
parazade
Orta seviyesiDers 5 / 10

Orta Ders 5: Metin Fonksiyonlarıyla Veri Temizleme

Yayın: · Son güncelleme:

Bu derste

Bu derste başka sistemlerden gelen dağınık metinleri KIRP, YAZIM.DÜZENİ, YERİNEKOY, BUL ve PARÇAAL ile temizlemeyi öğrenirsiniz. Fazla boşlukları silmek, kodları parçalara ayırmak ve metin olarak gelen sayıları düzeltmek örneklerle gösterilir.

Ders sonunda şunları yapabileceksiniz

  • KIRP ile baştaki, sondaki ve aradaki fazla boşlukları silmek
  • YAZIM.DÜZENİ ile ad soyadı düzgün büyük harfe çevirmek
  • BUL ve PARÇAAL ile bir kodu ayraçtan bölmek
  • YERİNEKOY ile istenmeyen karakterleri kaldırmak
  • Temizlenen veriyi formülden değere dönüştürmek
İçindekiler
  1. Veri neden kirli gelir?
  2. KIRP ile boşlukları silmek
  3. Harf düzenini toparlamak
  4. Kodu parçalara ayırmak
  5. İstenmeyen karakterleri kaldırmak
  6. Formülden değere geçmek
  7. İki müşteri listesini birleştirmek
  8. Sıradaki adım

Veri neden kirli gelir?

Başka bir yazılımdan, web formundan ya da e-postadan kopyalanan veriler çoğu zaman gözle görülmeyen farklar taşır. Ad soyadın önünde iki boşluk, telefon numarasında araya serpiştirilmiş boşluklar, aynı müşterinin bir satırda küçük, diğerinde büyük harfle yazılması bunların tipik örnekleridir.

Bu farklar yalnız görüntüyü bozmaz. Önceki derslerde gördüğünüz ETOPLA, DÜŞEYARA ve KAÇINCI, "Ayşe Kaya" ile "Ayşe Kaya" metinlerini farklı değer sayar. Temizlik yapılmadan kurulan özet tabloları eksik toplar ve aramalar #YOK verir.

KIRP ile boşlukları silmek

KIRP, metnin başındaki ve sonundaki boşlukları siler, kelimeler arasındaki birden çok boşluğu da teke indirir. Tek argüman alır: =KIRP(metin).

Örnek 1: Ad soyaddaki fazla boşlukları silme
AB
1Ham ad
2 Ayşe Kaya Ayşe Kaya
=KIRP(A2)

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

B2 hücresinin sonucu: Ayşe Kaya

Baştaki ve sondaki boşluklar silinir, aradaki üç boşluk teke iner.

" Ayşe Kaya " metni 14 karakterdir, temizlendiğinde "Ayşe Kaya" ile 9 karaktere iner. Farkı görmek için temizlik öncesi ve sonrası =UZUNLUK(A2) ile karakter sayısına bakabilirsiniz. Web sayfalarından gelen bölünemez boşluk karakteri KIRP ile silinmez. Bu durumda önce YERİNEKOY(A2;DAMGA(160);" ") ile onu normal boşluğa çevirmeniz gerekir.

Harf düzenini toparlamak

YAZIM.DÜZENİ her kelimenin ilk harfini büyük, kalanını küçük yapar. "zeynep arslan" ya da "ZEYNEP ARSLAN" metni "Zeynep Arslan" olur. BÜYÜKHARF ve KÜÇÜKHARF ise metnin tamamını tek düzene çevirir; ürün kodu ve plaka gibi alanlarda BÜYÜKHARF işe yarar.

Türkçe metinlerde i, ı, İ ve I harflerine ayrıca dikkat edin. Büyük küçük harf dönüşümünün sonucu kullandığınız programa ve dil ayarına göre değişebilir. Dönüştürdüğünüz sütunda bu harfleri içeren birkaç satırı gözle kontrol etmek en güvenli yoldur.

Kodu parçalara ayırmak

BUL ve PARÇAAL birlikte kullanıldığında bir metni belirli bir ayraçtan bölebilirsiniz. BUL, ayracın kaçıncı karakterde olduğunu döndürür. PARÇAAL ise o konumdan sonraki karakterleri alır.

Örnek 2: Ürün kodunun sayı kısmını ayırma
AB
1Kod
2KTP-10241.024
=SAYIYAÇEVİR(PARÇAAL(A2;BUL("-";A2)+1;UZUNLUK(A2)))

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

B2 hücresinin sonucu: 1.024

Tire 4. karakterde; PARÇAAL 5. karakterden sonrasını alır, SAYIYAÇEVİR "1024" metnini sayıya çevirir.

"KTP-1024" kodunda tire 4. karakterdir. PARÇAAL 5. karakterden başlayıp metnin uzunluğu kadar karakter alır, böylece kaç hane olursa olsun tirenin sağındaki bütün kısım gelir. SAYIYAÇEVİR de "1024" metnini hesaplanabilir sayıya çevirir. Tirenin solundaki kısım için =SOLDAN(A2;BUL("-";A2)-1) yazarsınız ve "KTP" sonucunu alırsınız.

İstenmeyen karakterleri kaldırmak

YERİNEKOY, metindeki belirli bir karakteri ya da kelimeyi başka bir şeyle değiştirir. Değiştirilecek metni boş tırnak ("") yaparsanız o karakter tamamen silinir.

Örnek 3: Telefon numarasındaki boşlukları kaldırma
AB
1Telefon
20532 418 77 9005324187790
=YERİNEKOY(A2;" ";"")

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

B2 hücresinin sonucu: 05324187790

Her boşluk boş metinle değiştirilir; 11 haneli numara kalır.

"0532 418 77 90" numarasındaki bütün boşluklar kalkar ve 11 haneli "05324187790" kalır. Aynı yöntemle parantezleri, tireleri ya da TL ifadesini de temizleyebilirsiniz. Birden çok karakter için YERİNEKOY'ları iç içe yazarsınız: =YERİNEKOY(YERİNEKOY(A2;"(";"");")";"").

Formülden değere geçmek

Temizlik formülleri yardımcı bir sütunda çalışır ve kaynak sütuna bağlıdır. Kaynak sütunu silerseniz temiz sütun da #BAŞV! hatasına döner. Bu yüzden iş bitince temiz sütunu kopyalayıp Yapıştırma Seçenekleri'nden Değerler'i seçerek sabit metne çevirin.

Bundan sonra eski sütunu silebilir ya da arşiv sayfasına taşıyabilirsiniz. Her ay aynı formatta gelen bir dosyayı temizliyorsanız formülleri bir şablonda tutmak, değere dönüştürmeyi ise yalnız rapor çıkarırken yapmak zamandan kazandırır.

İki müşteri listesini birleştirmek

İki farklı kaynaktan gelen müşteri listesini birleştirdiğinizi düşünün. Birinde adlar "AYŞE KAYA", diğerinde "ayşe kaya " biçiminde, telefonlar da bir yerde boşluklu, bir yerde bitişik yazılmış. Bu haliyle yinelenen kayıtları bulmak mümkün değildir, çünkü Excel bu satırları farklı müşteriler olarak görür.

Önce iki listeyi alt alta tek bir sayfaya yapıştırırsınız. Ardından yardımcı sütunlarda adı =YAZIM.DÜZENİ(KIRP(A2)), telefonu =YERİNEKOY(B2;" ";"") ile temizlersiniz. Temiz sütunlar hazır olduğunda Veri sekmesindeki Yinelenenleri Kaldır komutu, artık aynı görünen kayıtları tek satıra indirebilir.

Bu sırayı korumak önemlidir. Yinelenenleri temizlik yapmadan kaldırmaya çalışırsanız yalnız birebir aynı yazılmış satırlar silinir, küçük yazım farkı olanlar listede kalır.

Temizlik formüllerinin sonucunu doğrulamanın kısa bir yolu da sayım karşılaştırmasıdır. Temizlikten önce ve sonra =BAĞ_DEĞ_DOLU_SAY(A2:A500) ile dolu hücre sayısını alın; Yinelenenleri Kaldır'dan sonra kaç kaydın silindiğini bu iki sayının farkı gösterir. Silinen kayıt sayısı beklediğinizden çok fazlaysa temizlik formülü farklı müşterileri aynı metne çevirmiş olabilir, birkaç satırı gözle kontrol edin.

Sıradaki adım

Alıştırmada dört müşteri adını, fazla boşluklarını silip her kelimesi büyük harfle başlayacak biçimde tek bir formülle temizleyeceksiniz. KIRP ve YAZIM.DÜZENİ'nin iç içe hangi sırayla yazılacağını önce kendiniz deneyin.

Ders dosyasını indir.xlsx dosyası, ücretsiz
AlıştırmaAlıştırma: KIRP ve YAZIM.DÜZENİ ile Ad Temizleme →Bir formdan gelen dört müşteri adını tek bir formülle temizleyin: fazla boşlukları silin ve her kelimenin ilk harfini büyük yapın. KIRP ile YAZIM.DÜZENİ'ni iç içe kullanmayı bu alıştırmada pratik edersiniz.

Sıkça Sorulan Sorular

Excel KIRP formülü nasıl kullanılır?

Temizlenecek hücreyi tek argüman olarak verirsiniz: =KIRP(A2). Sonucu yan sütunda alır, kontrol ettikten sonra değer olarak yapıştırırsınız.

KIRP uyguladığım halde boşluk kalıyor, neden?

Web sayfalarından gelen bölünemez boşluk (karakter kodu 160) KIRP ile silinmez. =KIRP(YERİNEKOY(A2;DAMGA(160);" ")) yazarak önce onu normal boşluğa çevirin.

Formül yazmadan ayırma yapmanın yolu var mı?

Veri sekmesindeki Metni Sütunlara Dönüştür aracı, metni seçtiğiniz ayraçtan bölüp ayrı sütunlara yazar. Sonuç sabit değerdir, kaynak değişince güncellenmez.