Hücrede Aranacak SözcüK Karakter ile İlgili

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,649
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
merhaba sayın hocalarım
A1 Hücresine XXX yazıp enter yaptığımda kaç tane "X" (Büyük Küçük Harfe Duyarlı) yada duyarsız yazdığımızın formülle bulunuşu hakkında yardım isteyecektim
Sayın İdris Hocamızın örnek çalışmasını indirmiştim
bakıyorum ordan şimdi
"=TOPLA(UZUNLUK($A$1)-UZUNLUK(YERİNEKOY($A$1;"X";"")))/UZUNLUK("X") bu formüllle çözüm üretilmiş
başka alternatif çözüm varmıdır bir arkadaşıma göndericem çözümü ben idris hocamızın çözümünü kullanıyorum formül sonucu 3 olarak doğru buluyo idris hocamın dosyasında 2 alternatif daha var ama onlarda uzun gibi daha kısa alternatif bir formül varsa paylaşırmısınız.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Alternatif olabilir.

Kod:
=TOPLA.ÇARPIM(--(PARÇAAL(A1;SATIR(1:10000);1)="X"))
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,649
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
sayın kuvari teşekkür ederim
PARÇAAL(A1;SATIR(1:10000);1) bu kısımdaki PARÇAAL Formülünde SATIR(1:10000);1 bu kısmı anlayamadım.

formülü değerlendir kısmına bakınca takıldığım yeri buldum gerek kalmadı teşekkürler.
 
Son düzenleme:

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
sayın kuvari teşekkür ederim
PARÇAAL(A1;SATIR(1:10000);1) bu kısımdaki PARÇAAL Formülünde SATIR(1:10000);1 bu kısmı anlayamadım.
Merhaba,

Parçaal formülünde 3 parametre vardır.

1. Parametre işlem yapılacak metindir. Metin direkt formüle yazılabilir yada hücre ile atanabilir.

2. Parametre işlem yapılacak metinin hangi karakterinden başlanacağıdır. Elle yazılabileceği gibi, dinamik olarakta ek formüllerle belirlenebilir.

Satır formülü vba'daki döngülere benzer.

for i = 1 to 10 dediğimizde i değişkeni 1'den 10'a kadar değer alır.
SATIR(1:10) dediğimizde ise ={1\2\3\4\5\6\7\8\9\10} şeklinde bir dizin oluşur ve 2.parametre 1'den 10'a kadar değişerek metindeki bütün başlangıç sayılarına gider.

3. Parametre ise metinden kaç karakter alınacağını belirler. Sadece "x" karakterine bakacağımızdan 1 dememiz yeterlidir.

Örnek olarak A1 hücresinde xx1x değeri olduğunu varsayarsak,
PARÇAAL(A1;SATIR(1:4);1) formülü ile aşağıdaki gibi bir dize oluşur. İlk formülde uzun bir aralık vermiştim kısa aralığı formülü daha rahat anlamak için metin uzunluğu kadar SATIR fonksiyonunun parametrelerini kendim belirledim.

{"x"\"x"\"1"\"x"}

--(PARÇAAL(A1;SATIR(1:4);1)="X") formülü ile yukarıda elde edilen dizinde "x" karakteri eşleştirilir ve aşağıdaki gibi bir dizin oluşturulur.
xx1x metininde x olan karakterler 1 değeri, olmayanlar 0 değerini alır.

{1\1\0\1}

-- işareti sayıya dönüştürün formülde kullanılan kısayoludur diyebiliriz. Bu işareti kullanmasaydık aşağıdaki gibi bir dizin elde ederdik.
Excel'de DOĞRU 1, YANLIŞ ise 0 değerini alır.

{DOĞRU\DOĞRU\YANLIŞ\DOĞRU}

-- işaretini kullanmazsak TOPLA.ÇARPIM ile {DOĞRU\DOĞRU\YANLIŞ\DOĞRU} dizisini toplatamayız.

Nihayetinde --(PARÇAAL(A1;SATIR(1:4);1)="X") formülü ile elde ettiğimiz {1\1\0\1} dizinini dizi formülü olmaması için TOPLA.ÇARPIM ile toplatıyoruz.

=TOPLA.ÇARPIM(--(PARÇAAL(A1;SATIR(1:4);1)="X")) formülünde sonuç olarak 3'e ulaşıyoruz.

Not: Formülün dizin halini görmek için formülün tamamını veya görmek istediğiniz aralıkta formülü seçerek F9'a basabilirsiniz.
Daha sonra geri dönmek için formülün içinde iken CTRL+Z yapabilirsiniz.
 
Son düzenleme:

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,649
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
anlatım için teşekkür ederim sayın Kuvari
Kolay Gelsin İyi Çalışmalar.
 
Üst