Excel'de Metin Aramada Ustalık
Excel'deki BUL işlevi, büyük/küçük harf duyarlı olarak bir metnin başka bir metin içinde başladığı konum numarasını döndürür. "A" ile "a" arasında kesin bir ayrım yapmanız gerekiyorsa, bu işlev temel aracınız olacaktır. Muadili olan ARA işlevinin aksine, harf boyutlarını görmezden gelmez ve joker karakterleri desteklemez; bu da onu parola doğrulama, kodlar veya özel tanımlayıcılar için ideal kılar.
Temel fark: BUL işlevi büyük/küçük harfe duyarlıdır (Excel ≠ excel), ARA işlevi ise değildir. Yazım doğruluğunun kritik öneme sahip olduğu durumlarda BUL kullanın.
İşlevin sözdizimi ve bağımsız değişkenleri
Formül basit bir yapıya sahiptir ancak veri türlerine dikkatli olunmasını gerektirir.
=BUL(aranan_metin; içinde_aranan_metin; [başlangıç_konumu])
Bağımsız değişkenleri detaylıca inceleyelim:
- aranan_metin — aradığınız şey (kelime, harf, sembol). Bir hücre referansı veya tırnak içinde bir dize olabilir.
- içinde_aranan_metin — aramanın yapılacağı hücre veya dize.
- başlangıç_konumu (isteğe bağlı) — aramaya başlanacak karakterin numarası. Varsayılan olarak 1'dir (dizenin başı).
İşlev bir eşleşme bulursa, bir sayı (bulunan alt dizgenin ilk karakterinin sıralı numarası) döndürür. Eşleşme yoksa, #DEĞER! hatası döndürülür.
Çalışmanın temel özellikleri
İşlevin sınırlamalarını anlamak, hesaplamalardaki hatalardan kaçınmanıza yardımcı olacaktır:
- Büyük/küçük harf duyarlılığı. Bu işlev için "Metin" ve "metin" farklı değerlerdir. "excel" dizesinde "Excel" araması hata verecektir.
- Joker karakter yok. Yıldız (*) veya soru işareti (?) şablon olarak kullanılamaz. Bunlar normal karakterler olarak algılanır.
- Boşluklarla çalışma. Boşluk tam teşekküllü bir karakter olarak kabul edilir ve konum sayımında dikkate alınır.
Eğer başlangıç_konumu bağımsız değişkeni dize uzunluğundan büyükse veya sıfıra eşitse (ve 1'den küçükse), işlev #DEĞER! hatası döndürür. Başlangıç noktasının metinde var olduğundan emin olun.
Kullanım örnekleri
Temel konum arama
A1 hücresinde şu metnin bulunduğunu varsayalım: "Rapor_2024_Son".
Formül: =BUL("2024"; A1)
Sonuç: 7.
Sayım: R(1) a(2) p(3) o(4) r(5) _(6) 2(7). İşlev, bulunan ilk rakamın karakterini işaret eder.
Büyük/küçük harf duyarlı arama
A2 hücresinde metin: "apple".
Formül: =BUL("A"; A2)
Sonuç: #DEĞER! (hata), çünkü metinde sadece küçük harf "a" var.
Formül: =BUL("a"; A2)
Sonuç: 1.
Alt dizgenin ikinci geçişini arama
Kelimenin ikinci görünümünü bulmak için, aramayı ilk bulunan yerden hemen sonra başlatmanız gerekir.
A3'teki metin: "kedi ve kedicik".
- İlk "kedi"yi buluyoruz:
=BUL("kedi"; A3)→ sonuç 1. - Konum 2'den başlayarak sonrakini arıyoruz:
=BUL("kedi"; A3; 2)→ sonuç 8 ("kedicik" içindeki "kedi" kelimesi).
Hata yönetimi ve formül kombinasyonları
Arana metnin bulunmaması #DEĞER! hatasına neden olduğundan, bu durum sonraki hesaplamaları bozabilir. Güvenli çalışma için EĞERHATA işlevi ile birlikte kullanın.
Metin varlığının kontrol edilmesi
Hata görmek yerine, anlaşılır bir mesaj veya mantıksal bir değer döndürün.
Formül: =EĞERHATA(BUL("ID"; A1); 0)
- "ID" bulunursa — konum döner (sayı > 0).
- Bulunmazsa — 0 döner.
Bu, koşullar oluşturmanıza olanak tanır: =EĞER(EĞERHATA(BUL("VIP"; A1); 0)>0; "VIP Durumu"; "Normal").
Dizenin bir kısmını çıkarma
En güçlü senaryo, konumu SOLDAN, SAĞDAN veya PARÇAAL işlevleriyle metni kesmek için kullanmaktır.
Görev: E-postadan alan adını alma ("@" işaretinden sonraki metin).
A1 Hücresi: [email protected]
- "@" konumunu bulma:
BUL("@"; A1)→ 5. - "@" sonrası metin uzunluğunu hesaplama:
UZUNLUK(A1) - BUL("@"; A1). - Metni sağdan çıkarma:
=SAĞDAN(A1; UZUNLUK(A1) - BUL("@"; A1))Sonuç:example.com
Arama işlevlerinin karşılaştırılması
Doğru aracı seçmek için bu tabloya rehberlik edin:
| Özellik | BUL İşlevi | ARA İşlevi |
|---|---|---|
| Büyük/küçük harf dikkate alma | Evet (duyarlı) | Hayır (görmezden gelir) |
| *Joker karakterler (, ?)** | Desteklemez | Destekler |
| Döndürülen değer | İlk karakterin konumu | İlk karakterin konumu |
| Bulunmama durumunda hata | #DEĞER! | #DEĞER! |
| En iyi kullanım alanı | Parolalar, kodlar, katı formatlar | İsim arama, adlar, genel analiz |
Kullanıcıların sık yaptığı hatalar
- Boşlukları görmezden gelme. Kullanıcılar, aranan kelimeden önceki boşluğun konumu kaydırdığını unutur. Örneğin, " benim kelimem" içinde "kelime" araması 1 değil, 5 döndürür.
- Yanlış ayırıcı. Türkçe Excel sürümünde bağımsız değişkenler virgül (
;) ile değil, noktalı virgül (;) ile ayrılır. Virgül kullanımı formül hatasına yol açar. (Not: Kaynak metinde Rusça Excel için noktalı virgül belirtilmiştir, Türkçe Excel'de de genellikle noktalı virgül kullanılır, bu nedenle yapı korunmuştur). - Sayıyı sayı olarak arama. İşlev metinlerle çalışır. Sayısal biçimli bir hücrede 2024 sayısını arıyorsanız, onu METNEÇEVİR içine almak veya
"2024"olarak dize şeklinde aramak daha iyidir; Excel genellikle türleri otomatik olarak dönüştürse de, açık belirtme daha güvenilirdir.
SSS
Bir alt dizgenin tüm oluşumlarını aynı anda bulabilir miyim? Hayır, işlev yalnızca ilk bulunan konumu (veya belirtilen başlangıç noktasından sonraki ilk konumu) döndürür. Tüm oluşumları aramak için formül zinciri oluşturmak veya VBA makroları kullanmak gerekir.
Büyük/küçük harf dikkate almadan metin aramam gerekirse ama ARA kullanamıyorsam ne yapmalıyım?
ARA tam olarak bunun için yaratıldığından böyle bir durum nadirdir. Ancak, BUL uygulamadan önce tüm metni KÜÇÜKHARF veya BÜYÜKHARF işlevleriyle tek bir duruma getirebilirsiniz: =BUL("metin"; KÜÇÜKHARF(A1)).
Bir dizedeki son karakterin konumunu nasıl bulurum? UZUNLUK (veya LEN) işlevini kullanın. Metnin toplam uzunluğunu döndürür, bu da son karakterin konumuna eşittir. Burada BUL işlevi gereksizdir.