Elimizdeki bir string ifadedeki (metin) bir karakteri sınır kabul ederek ona göre metnin sağ tarafını kırpar. Örneğin, “1-2-3-4-5” string ifadesinde biz üçüncü tireden önceki metin parçasını almak istiyoruz, yani “1-2-3” kısmını. İşte formül bu şekilde belli bir metinsel ifadeden önceki metnin getirilmesini sağlamaktadır.
=PARÇAAL(YERİNEKOY(A2;B2;C2;D2);1;BUL(C2;YERİNEKOY(A2;B2;C2;D2);1)-1)
Formülün Çalışma Mantığı
Formül temelde PARÇAAL
fonksiyonunun metinden bir metin parçasını alması üzerine kurulu. Eğer verdiğimiz karakterin sayısı metinde birden fazla ise bunu ayırt edebilmek için ilgili karakteri formül kullanarak işaretliyoruz. Sonra bu işaretlenmiş karakterin yerini bulduruyoruz. PARÇAAL
formülü de baştan başlayıp bu işaretlenmiş karakterin bulunduğu yere kadar olan kısmı alıyor ve sonuç olarak yazdırıyor.
Sınırı Belirle
"1-2-3-4-5" metninde üçüncü tireden önceki metni almak istediğimizi varsayalım. Yani sonuç olarak "1-2-3" sonucunu elde etmek istiyoruz. Bunu yapmak için ilk önce üçüncü tireyi işaretliyoruz. İşaretleme karakterinin metinde olmayan bir karakter olması gerekiyor.
İşaretleme işlemini YERİNEKOY
fonksiyonu ile yapacağız. İşaret olarak kullandığımız karakteri göstererek kolayca sonuca ulaşabileceğiz.
YERİNEKOY(A2;B2;C2;D2)
İşaret Karakterinin Sırasını Bul
İşaretlemeyi PARÇAAL
formülü için hazırlamıştık. Verdiğimiz benzersiz (metinde olmayan) karakteri BUL
formülü ile rahatça bulabilmemizi sağlayacak. Biz zaten metni baştan başlayarak böleceğiz ama başlangıçtan itibaren kaç karakter alınacak, nasıl alınacak sorusu kritik nokta. Aşağıdaki formül parçası da kaç karakter alınacağını bulmaya yarıyor.
BUL(C2;YERİNEKOY(A2;B2;C2;D2);1)-1
Sonuç
Normal metnimiz A2 hücresinde fakat bu haliyle işimize yaramadığı için işaretleyerek bu metni YERİNEKOY(A2;B2;C2;D2) haline getirdik. PARÇAAL fonksiyonunun ilk parametresine de bu yeni halini yazdırdık.
PARÇAAL formülünün ikinci parametresi olan başlangıç sayısı parametresine 1 yazdık, çünkü biz metni en başından itibaren almak istiyoruz.
PARÇAAL formülünün üçüncü parametresine de başlangıç sayısından itibaren kaç karakter alacağımızın bilgisini girdik. BUL fonksiyonunu işaret karakterini bulmak için kullandık, bu işimizi kolaylaştırdı.
Bu işlemler sonucunda birden fazla aynı karakterin bulunduğu metinde, istediğimiz sıradaki karakterden bölme işlemi yaparak metnin ilgili parçasını alabildik.
=PARÇAAL(YERİNEKOY(A2;B2;C2;D2);1;BUL(C2;YERİNEKOY(A2;B2;C2;D2);1)-1)