Bu yazıda, bir aralıktaki ilk kısmi eşleşmenin konumunu almaya çalışacağız.
Bildiğimiz gibi KAÇINCI işlevi, bir aralıktaki ilk eşleşmenin dizinini veya konumunu döndürür. Bu nedenle, bir aralıktaki ilk eşleşmenin konumunu almak için bu işlevi kullanmak açıktır. Joker karakter operatörlerini desteklediğinden, MATCH'ı kısmi eşleşmeler yapmak için de kullanabiliriz.
İlk maç pozisyonu pozisyonunu aldığımızda, çeşitli şeyler yapabiliriz. INDEX işlevini kullanarak o değeri veya bitişik veya bitişik olmayan değeri almak veya dinamik bir işlev yapmak gibi. Bu sizin ihtiyacınıza ve yaratıcılığınıza bağlıdır.
İlk Bulunan Kısmi MAÇ için Genel Formül
Sabit kod dizesi için:
=KAÇINCI("*cadde*",Aralık,0)
Hücre referansı için:
=KAÇINCI("*"&hücre&"*",aralık,0)
cadde: aralıkta kısmen eşleştirmek istediğiniz metin veya dizedir. Herhangi bir şey, bir hücre veya sabit kodlanmış bir dize olabilir.
Menzil: aradığınız aralıktır cadde.
0: Tam eşleşme için parametredir. YANLIŞ da kullanabilirsiniz.
str dizesinin önünde ve sonunda * (yıldızlar) kullandığımızı unutmayın. Bu, herhangi bir değeri eşleştirmek için kullanılan joker operatördür. ondan önce ve sonra herhangi bir dize…
Bir örnek görelim.
Burada Win, Loss ve Tie ile ilgili bir kaydım var. Kazanma, Kaybetme ve Beraberlik'te ilk sırayı almak istiyoruz.
Bu nedenle, kod yazarsam, her hücrede kısmi eşleşmenin ilk konumunu bulmak için formül şöyle olacaktır:
=KAÇINCI("*kazandı*",A2:A10,0)
=KAÇINCI("*kayıp*",A2:A10,0)
=KAÇINCI("*bağ*",A2:A10,0)
=KAÇINCI("*"&C2&"*",$A$2:$A$10,0)
Nasıl çalışır
Kısmi eşleşmeler yapmak için excel'in işlevselliğini kullanır. KAÇINCI, * (yıldız işaretleri) arasında sağlanan dizeyi içeren herhangi bir dize arar ve bulunan ilk konumu döndürür.
FirstPartMatch VBA İşlevini kullanarak Aralıktaki İlk Kısmi Eşleşmenin Konumunu Bulun
Excel'deki vba modülünde aşağıdaki vba kodunu kopyalarsanız, kısmi eşleşmenin ilk konumunu almak için bu işlevi kullanabilirsiniz. Yukarıdaki örnek için şu formülü yazmanız yeterlidir:
=İlkPartEşleşme(C2,$A$2:$A$10)
İlk maçın pozisyonunu alacaksınız. Bunun gibi.
Nasıl çalışır
İlk argüman, kısmi eşleşme aramak istediğiniz dizedir.
İkinci argüman, dizginizin konumunu almak istediğiniz aralıktır.
=İlkPartEşleşme(str,aralık)
Bu formülü kısmi eşleştirme için kullanmak için aşağıdaki kodu VBA modülüne kopyalayın.
Function FirstPartMatch(str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 Her bir Cll için In rng tmp = tmp + 1 If InStr(1, LCase(cll.Value2), LCase(str)) > 0 Sonra konum = tmp Çıkış İçin Son If Sonraki cll If konum Sonra FirstPartMatch = konum Else FirstPartMatch = "#NA" End If End Function
Konum için Büyük/Küçük Harfe Duyarlı Kısmi Eşleşme
İlk kısmi eşleşmeyi bulmak için yukarıdaki kullanıcı tanımlı fonksiyon büyük/küçük harfe duyarlı olmayacaktır. Büyük/küçük harfe duyarlı olmasını istiyorsanız, kaldırın Lcase işlevi 7. satırdan
Ardından büyük/küçük harfe duyarlı kod şöyle olacaktır:
Function FirstPartMatchCASE(str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 Her bir Cll İçin In rng tmp = tmp + 1 If InStr(1, cll.Value2, str) > 0 O zaman konum = tmp Exit For End If Next cll If pozisyon O zaman FirstPartMatchCASE = pozisyon Else FirstPartMatchCASE = "#NA" End If End Function
Bu durumda “kazandı” ve “beraber” bulunmadığını görebilirsiniz. Kazanılan veya berabere kalan küçük harf olmadığı için.
Evet arkadaşlar, excel'de ilk kısmi eşleşmenin konumunu bulmanın yolları bunlar. Ön tanımlı KAÇINCI işlevini kullanarak ve kullanıcı tanımlı eşleme işlevini kullanarak ilk kısmi eşleşme konumunu bulabileceğinizi söylemiştim. Başka bir fikriniz veya sorunuz varsa, aşağıdaki yorumlar bölümünde bizimle burada paylaşın.
Excel'de KAÇINCI İşlevi Nasıl Kullanılır
Excel'de INDEX İşlevi Nasıl Kullanılır
Excel'de INDEX-MATCH Kullanan Yinelenen Değerlere Sahip İlk 5 Vlookup Değeri
Popüler Makaleler:
Excel'de DÜŞEYARA İşlevi
Excel 2016'da EĞERSAY
Excel'de SUMIF İşlevi Nasıl Kullanılır