Excel formülü: Ölçütlerle benzersiz sayısal değerleri sayma -

İçindekiler

Genel formül

(=SUM(--(FREQUENCY(IF(criteria,values),values)>0)))

Özet

Bir aralıktaki benzersiz sayısal değerleri saymak için SIKLIK, TOPLA ve EĞER işlevlerine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, çalışan numaraları B5: B14 aralığında görünmektedir. G6'daki formül:

=SUM(--(FREQUENCY(IF(C5:C14="A",B5:B14),B5:B14)>0))

A binasında 2 benzersiz çalışan kimliği olduğundan, 2 değerini döndürür.

Not: Bu bir dizi formülüdür ve Excel 365 kullanmıyorsanız, control + shift + enter ile girilmelidir.

Açıklama

Not: Excel 365'ten önce, Excel'in benzersiz değerleri saymak için özel bir işlevi yoktu. Bu formül, sayısal oldukları sürece benzersiz değerleri saymanın bir yolunu gösterir. Metin değerleriniz varsa veya metin ve sayıların bir karışımına sahipseniz, daha karmaşık bir formül kullanmanız gerekir.

Excel FREQUENCY işlevi, "bölmeler" halinde düzenlenen sayısal değerlerin sıklığını içeren bir özet tablo olan bir sıklık dağılımı döndürür. Burada, benzersiz sayısal değerleri saymak için dolambaçlı bir yol olarak kullanıyoruz. Ölçütleri uygulamak için EĞER işlevini kullanırız.

İçten dışa doğru çalışarak, önce değerleri EĞER işlevi ile filtreliyoruz:

IF(C5:C14="A",B5:B14) // filter on building A

Bu işlemin sonucu şuna benzer bir dizidir:

(905;905;905;905;773;773;FALSE;FALSE;FALSE;FALSE)

B binasındaki tüm kimliklerin artık YANLIŞ olduğuna dikkat edin. Bu dizi, veri dizisi olarak doğrudan FREQUENCY işlevine gönderilir . İçin bins_array , biz kimlikleri kendileri tedarik:

FREQUENCY((905;905;905;905;773;773;FALSE;FALSE;FALSE;FALSE),(905;905;905;905;773;773;801;963;963;963))

Bu yapılandırmayla FREQUENCY aşağıdaki diziyi döndürür:

(4;0;0;0;2;0;0;0;0;0;0)

Sonuç biraz şifreli, ancak anlamı 905 dört kez ve 773 iki kez görünüyor. YANLIŞ değerler otomatik olarak göz ardı edilir.

SIKLIK, veri dizisinde önceden görünen tüm sayılar için otomatik olarak sıfır döndüren özel bir özelliğe sahiptir, bu nedenle bir sayı ile karşılaşıldığında değerler sıfırdır. Bu yaklaşımın işe yaramasına izin veren özellik budur.

Daha sonra, bu değerlerin her birinin sıfırdan büyük olduğu test edilir:

(4;0;0;0;2;0;0;0;0;0;0)>0

Sonuç şuna benzer bir dizidir:

(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

Listedeki her DOĞRU, listedeki benzersiz bir sayıyı temsil eder ve sadece DOĞRU değerleri SUM ile toplamamız gerekir. Bununla birlikte, TOPLA bir dizide mantıksal değerler toplamaz, bu nedenle değerleri önce 1 veya sıfıra zorlamamız gerekir. Bu, çift negatif (-) ile yapılır. Sonuç yalnızca 1 veya 0'lık bir dizi:

(1;0;0;0;1;0;0;0;0;0;0)

Son olarak, TOPLA bu değerleri toplar ve toplamı döndürür, bu durumda bu 2'dir.

Birden çok kriter

Formülü aşağıdaki gibi birden çok ölçütü işleyecek şekilde genişletebilirsiniz:

(=SUM(--(FREQUENCY(IF((criteria1)*(criteria2),values),values)>0)))

İyi bağlantılar

Mike Girvin'in kitabı Control-Shift-Enter

Ilginç makaleler...