Formülün boş hücrede sıfır değer alması

leventunc

Altın Üye
Katılım
19 Aralık 2013
Mesajlar
122
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
06-09-2025
Merhabalar Ömer bey, şöyle bir sorunla karşılaştık;

M20 hücresinde yer alan otomatik değerler: 7,9,5,2,6,4,8,10,11,1,12,3

N20 hücresine girilen manuel değerler: 6,11,1

O20
hücresinde beliren değerler: 5,10,8 (Olması gereken doğru sıralama: 5,9,10)


NOT: M20 hücresindeki referans değerlerimiz (1,2,3,4,5,6,7,8,9,10,11,12) aynı olup, sürekli yer değiştirmektedir.
 
Son düzenleme:

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Dizi formülüdür.
Kod:
=EĞERHATA(EĞER(N20="";0;KAÇINCI(--SOLDAN(N20;BUL(",";N20)-1);KAÇINCI(KÜÇÜK(A20:L20;SÜTUN(A20:L20));A20:L20;0);0)&","&KAÇINCI(--SOLDAN(PARÇAAL(N20;BUL(",";N20)+1;256);BUL(",";PARÇAAL(N20;BUL(",";N20)+1;256))-1);KAÇINCI(KÜÇÜK(A20:L20;SÜTUN(A20:L20));A20:L20;0);0)&","&KAÇINCI(--SAĞDAN(N20;UZUNLUK(N20)-BUL("*";YERİNEKOY(N20;",";"*";UZUNLUK(N20)-UZUNLUK(YERİNEKOY(N20;",";"")))));KAÇINCI(KÜÇÜK(A20:L20;SÜTUN(A20:L20));A20:L20;0);0));0)
 
Son düzenleme:

leventunc

Altın Üye
Katılım
19 Aralık 2013
Mesajlar
122
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
06-09-2025
Merhabalar Ömer bey, bu formüllere de virgül uyarlaması yapabilir miyiz lütfen?

=TOPLA.ÇARPIM(--(SOLDAN(N20:N100;1)="1")) (Örnek: 10 ile başlayan hücre sayısını bize veriyor.)
=TOPLA.ÇARPIM(--(PARÇAAL(N20:N100;2;1)="1")) (Örnek: İkinci rakamı 8 olan hücre sayısını bize veriyor.)
=TOPLA.ÇARPIM(--(PARÇAAL(N20:N100;3;1)="1")) (Örnek: Üçüncü rakamı 12 olan hücre sayısını bize veriyor.)

Yukarıdaki 3 formül arada virgül olmadan işlem yapıyordu. Çalışmamızın son haliyle sizin de büyük desteğinizle, N20 hücresine 1,2,3,4,5,6,7,8,9,10,11,12 değerlerini artık manuel giriyoruz ve aralarında virgül kullanıyoruz.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Çok anlayamadım, 5-6 satırlık örnek dosya ekleyerek sorunuzu daha detaylı açıklar mısınız.
 

leventunc

Altın Üye
Katılım
19 Aralık 2013
Mesajlar
122
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
06-09-2025
Hatırlarsanız N sütunu boyunca artık virgül kullanarak rakamları manuel giriyorduk. (Örnek: 10,3,1)

Yapılmak istenilen: Bu formüllere verilecek değere göre (1,2,3,4,5,6,7,8,9,10,11,12) N sütunu boyunca filtreleme işlemini yapması. 1 rakam, 2. rakam ve 3. rakama göre istenilen sayıların kaç adet olduğunu bulmak... N sütunu boyunca girilecek değerler 3 basamaklı olup arada virgül kullanılacak.
 

Ekli dosyalar

leventunc

Altın Üye
Katılım
19 Aralık 2013
Mesajlar
122
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
06-09-2025
Merhabalar Ömer bey, ekteki çalışma ile yapılmak istenileni biraz daha somutlaştırmaya çalıştık.
 

Ekli dosyalar

leventunc

Altın Üye
Katılım
19 Aralık 2013
Mesajlar
122
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
06-09-2025
Referans değerlerimiz 1,2,3,4,5,6,7,8,9,10,11,12'dir. Bu değerler sürekli yer değiştiriyor. Formülleri, siz yazdıktan sonra biz onlara göre uyarlıyoruz.

Kısa Bilgi:Elinizde 3 formül var. Bu formüller bu işlevi yerine getirirken rakamların arasında virgül kullanılmıyordu. Çalışmamızın genişlemesiyle 10,11,12 sayıları da dahil oldu. İlk rakamı sadece 1 olan sayıları sayarken 10'u da sayıyor. Bu karmaşanın önüne geçmek için biz rakamların arasına virgül kullanacağız ve bu formüller bunu algılayıp işlemi ona göre yapacak: (Örnek: 10,1,7)

1. Formül 1. rakamdan hareketle 1. rakamı aynı olan sayıların kaç adet olduğunu topluyor.
2. Formül 2. rakamdan hareketle 2. rakamı aynı olan sayıların kaç adet olduğunu topluyor.
3. Formül 3. rakamdan hareketle 3. rakamı aynı olan sayıların kaç adet olduğunu topluyor.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Arasına virgül kullanmazsanız bile sizin yazdığınız formül doğru sonucu üretiyor mu?

Çünkü siz =TOPLA.ÇARPIM(--(SOLDAN(D12: D100;1)="3")) yazarak soldan 1 değerini almışsınız, belki ilk değeriniz 2 basamaklı bir sayıdır.

Parça parça ele alındığı karışıklık olabiliyor. Müsait zamanda bakıp dönüş yaparım.
 

leventunc

Altın Üye
Katılım
19 Aralık 2013
Mesajlar
122
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
06-09-2025
Evet bu formüller daha önce 123456 rakamları için kullanılıyordu. Gayet güzel sonuçlar veriyordu. Çalışmanın genişlemesiyle yeni referans numaralarını dahil ettik. Yeni referans numaralarımız 1,2,3,4,5,6,7,8,9,10,11,12.

=TOPLA.ÇARPIM(--(SOLDAN(D12: D100;1)="3")) (Bu formül bize sadece ilk basamağı 3 olan sayıların kaç adet olduğunu gösteriyor). Bu formülü biz her rakam için ayrı ayrı kullanıyoruz. Diğer formüller de aynı işlevi görüyor. Her formül bir ölçüm yapıyor. Biri 1. rakama göre, biri 2. rakama göre ve diğeri 3. rakama göre sayıların kaç adet olduğunu topluyor. Toplama işlemleri ayrı ayrı yapılıyor.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Formüller dizi formülüdür, ölçütleri sırasıyla 3-13-9 olarak işledim, siz kendinize göre düzenlersiniz.

1. Rakam
Kod:
=TOPLA(--(EĞERHATA(--SOLDAN(N20:N100;MBUL(",";N20:N100)-1);0)=3))

2.Rakam
Kod:
=TOPLA(--(EĞERHATA(NSAT(DEĞİŞTİR(N20:N100;1;MBUL(",";N20:N100);""));0)=13))

3.Rakam
Kod:
=TOPLA(--(EĞERHATA(--KIRP(SAĞDAN(YERİNEKOY(N20:N100;",";YİNELE(" ";99));99));0)=9))
---------------------------------------------------------------------------------------------------
Diziye gerek kalmadan aşağıdaki gibi de kullanabilir siniz. Sırasıyla;
Kod:
=TOPLA.ÇARPIM(--ESAYIYSA(1/(--SOLDAN(N20:N100;MBUL(",";N20:N100)-1)=3)))
Kod:
=TOPLA.ÇARPIM(--ESAYIYSA(1/(--NSAT(DEĞİŞTİR(N20:N100;1;MBUL(",";N20:N100);""))=13)))
Kod:
=TOPLA.ÇARPIM(--ESAYIYSA(1/(--KIRP(SAĞDAN(YERİNEKOY(N20:N100;",";YİNELE(" ";99));99))=9)))
 
Üst