B sütununda boş olmayanlara göre A sütununda benzersiz olanları sayma

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,121
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,
Ekli dosyada; A sütununda ülke kodları, B sütununda ise "E" yada "H" ile kodlanmış değerler mevcut;

B sütununda "E" olanlara göre A sütununda benzersiz olanların sayısını aşağıdaki formül ile alabiliyoruz;
Kod:
=TOPLA.ÇARPIM(($B$3:$B$30="E")*(1/ÇOKEĞERSAY($A$3:$A$30;$A$3:$A$30&"";$B$3:$B$30;$B$3:$B$30&"")))
Burada yapmak istediğim, B sütununda değer fark etmeksizin,
B sütunu dolu olanlara göre A sütununda benzersiz olanların sayısını nasıl getirebiliriz,

desteğiniz için şimdiden teşekkürler,
iyi akşamlar.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,769
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Dizi formül olarak deneyebilirsiniz.

C++:
=SUMPRODUCT(IFERROR(($B$3:$B$30<>"")/COUNTIFS($A$3:$A$30;$A$3:$A$30&"";B3:B30;"<>");0))

Ofis 365 için;
C++:
=COUNTA(UNIQUE(FILTER(A3:A30;B3:B30<>"")))
 

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
374
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
Merhabalar,
Ekli dosyada; A sütununda ülke kodları, B sütununda ise "E" yada "H" ile kodlanmış değerler mevcut;

B sütununda "E" olanlara göre A sütununda benzersiz olanların sayısını aşağıdaki formül ile alabiliyoruz;
Kod:
=TOPLA.ÇARPIM(($B$3:$B$30="E")*(1/ÇOKEĞERSAY($A$3:$A$30;$A$3:$A$30&"";$B$3:$B$30;$B$3:$B$30&"")))
Burada yapmak istediğim, B sütununda değer fark etmeksizin,
B sütunu dolu olanlara göre A sütununda benzersiz olanların sayısını nasıl getirebiliriz,

desteğiniz için şimdiden teşekkürler,
iyi akşamlar.
Deneyiniz
Kod:
=TOPLA.ÇARPIM(($B$3:$B$30<>"")*(1/ÇOKEĞERSAY($A$3:$A$30;$A$3:$A$30&"";$B$3:$B$30;$B$3:$B$30&"")))
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,121
Excel Vers. ve Dili
Office 2013 İngilizce
Deneyiniz
Kod:
=TOPLA.ÇARPIM(($B$3:$B$30<>"")*(1/ÇOKEĞERSAY($A$3:$A$30;$A$3:$A$30&"";$B$3:$B$30;$B$3:$B$30&"")))
Hocam vermiş olduğunuz formül B sütununda "E" ve "H" yi ayrı sayıyor, dolayıysa fazla sonuç geliyor, B sütununda dolu sütunları tek bir değer gibi düşünerek ("E" ve "H" aynı) sonuç getirmesini istiyorum.
Korhan Hocamın dizi formülü tam istediğim gibi aslında, dizi formülü dışında çözüm de olabilir mi diye sormuştum.

iyi çalışmalar.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
743
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Sayın
@tamer42

PivotTable (Özet Tablo) kullanmayı düşünebilirsiniz. Özet Tablolar, veriyi gruplandırma ve benzersiz değerleri analiz etmede oldukça güçlüdür.

Eğer formül tabanlı bir çözüm istiyorsanız, dinamik dizi formülleri olan Excel'in daha yeni versiyonlarını kullanıyorsanız, UNIQUE ve FILTER gibi fonksiyonlardan faydalanabilirsiniz. Ancak, mevcut örneğinizde COUNTIFS ve SUMPRODUCT kombinasyonunun yerini almak için tek formül tabanlı bir alternatif bulmak zor olabilir.

Excel'de dizi formülleri kullanmadan, yalnızca standart formüllerle benzer bir sonuç elde etmek mümkün olmayabilir. Ancak, bazı durumlarda yardımcı sütunlar kullanarak benzer bir sonuç elde edebilirsiniz.

Örneğin, C3 hücresine aşağıdaki formülü yazın ve aşağıya doğru çekin:

=IF(B3<>"", 1/COUNTIFS($A$3:$A$30, A3, $B$3:$B$30, "<>"), 0)

Bu formül, B sütununda boş olmayan değerler için A sütunundaki benzersiz değerleri sayar ve her bir benzersiz değer için 1 değerini verir.

Daha sonra, bu yardımcı sütunun toplamını almak için aşağıdaki formülü kullanın:

=SUM(C3:C30)

Bu formül, yardımcı sütundaki değerlerin toplamını alır ve SUMPRODUCT ile elde ettiğiniz sonuca benzer bir sonuç verir.

Bu yöntem, dizi formülü kullanmadan benzer bir sonuç elde etmenizi sağlar, ancak yardımcı sütunlar kullanmanız gerekecektir. Eğer dizi formülü kullanmak zorunda değilseniz ve yardımcı sütunlar kullanmak istemiyorsanız, dizi formülü kullanmak en etkili çözüm olacaktır.
 
Son düzenleme:
Katılım
11 Temmuz 2024
Mesajlar
234
Excel Vers. ve Dili
Excel 2021 Türkçe
Hocam vermiş olduğunuz formül B sütununda "E" ve "H" yi ayrı sayıyor, dolayıysa fazla sonuç geliyor, B sütununda dolu sütunları tek bir değer gibi düşünerek ("E" ve "H" aynı) sonuç getirmesini istiyorum.
Korhan Hocamın dizi formülü tam istediğim gibi aslında, dizi formülü dışında çözüm de olabilir mi diye sormuştum.

iyi çalışmalar.
Merhaba, uygun olanı deneyip sonucu paylaşabilir misiniz;


Kod:
=EŞSIZLERI.SAY(FILTER($A$3:$A$30;$B$3:$B$30<>""))

Kod:
=SAYI(BAĞ_DEĞ_SIL(EĞER($B$3:$B$30<>"";$A$3:$A$30;"")))
Kod:
=TOPLA.ÇARPIM(($B$3:$B$30<>"")*(1/ÇOKEĞERSAY($A$3:$A$30;$A$3:$A$30)))
 

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
374
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
Hocam vermiş olduğunuz formül B sütununda "E" ve "H" yi ayrı sayıyor, dolayıysa fazla sonuç geliyor, B sütununda dolu sütunları tek bir değer gibi düşünerek ("E" ve "H" aynı) sonuç getirmesini istiyorum.
Korhan Hocamın dizi formülü tam istediğim gibi aslında, dizi formülü dışında çözüm de olabilir mi diye sormuştum.

iyi çalışmalar.
bu formülü deneyiniz. Dizi formülü değildir. denedim çalıştı. Yalnız formülde A sütununda veri olmayan aralıkları seçmemeniz gerekiyor. yani formülü gereksiz büyütmeyiniz. veriler hangi aralıktaysa sadece o aralıkları seçiniz formülde.
Kod:
=TOPLA.ÇARPIM(($B$3:$B$13<>"")*(1/ÇOKEĞERSAY($A$3:$A$13;$A$3:$A$13;$B$3:$B$13;"<>")))
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
743
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Volki_112 destek olarak

=TOPLA.ÇARPIM(($B$3:$B$13<>"")*($A$3:$A$13<>"")*(1/ÇOKEĞERSAY($A$3:$A$13;$A$3:$A$13;$B$3:$B$13;"<>")))

Boş hücreleri filtrelemek için ek bir sütun veya koşul kullanabilir.Bu ek koşul, A sütununda boş olmayan hücreleri dikkate alır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,769
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben de boş hücreler formülde seçildiği için dizi formülünü önermiştim...
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,121
Excel Vers. ve Dili
Office 2013 İngilizce
bu formülü deneyiniz. Dizi formülü değildir. denedim çalıştı. Yalnız formülde A sütununda veri olmayan aralıkları seçmemeniz gerekiyor. yani formülü gereksiz büyütmeyiniz. veriler hangi aralıktaysa sadece o aralıkları seçiniz formülde.
Kod:
=TOPLA.ÇARPIM(($B$3:$B$13<>"")*(1/ÇOKEĞERSAY($A$3:$A$13;$A$3:$A$13;$B$3:$B$13;"<>")))
Hocam teşekkürler, yalnız bu formül ekli görüntüde; #SAYI/0! hata verdi, normalde 3 sonucunu vermesi gerekiyordu

iyi çalışmalar.
 

Ekli dosyalar

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
374
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
Hocam dosya buraya ekledim.
Kontrol edebilirsiniz !!
hocam şimdi kontrol ettim de A sütununda örneğin NL değerlerinden birinde B sütununda hiç karşılık yoksa formül çalışmıyor. Mutlaka A sütununda benzersiz değerlerden birinde B sütununun karşılığının dolu olması gerek. Ben de sonradan farkettim bunu. Ya @Korhan Ayhan beyin yazdığı dizi formülünü kullanın. ya da yardımcı sütunla bir şeyler yapmaya çalışalım. Özellikle Dizi formülü istememizin nedeni nedir acaba.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,121
Excel Vers. ve Dili
Office 2013 İngilizce
hocam şimdi kontrol ettim de A sütununda örneğin NL değerlerinden birinde B sütununda hiç karşılık yoksa formül çalışmıyor. Mutlaka A sütununda benzersiz değerlerden birinde B sütununun karşılığının dolu olması gerek. Ben de sonradan farkettim bunu. Ya @Korhan Ayhan beyin yazdığı dizi formülünü kullanın. ya da yardımcı sütunla bir şeyler yapmaya çalışalım. Özellikle Dizi formülü istememizin nedeni nedir acaba.
Hocam teşekkürler,
dizi formülünde Ctrl + Shift + Enter kullanmayı bazen unutabiliyoruz da o nedenle söylemiştim, sıkıntı değil
her şey için tekrar teşekkürler,
iyi çalışmalar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,769
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ekteki dosyada bazı denemeler yaptım. Sanırım yeterli olacaktır...
 

Ekli dosyalar

Üst