Excel formülü: x veya y içeren hücreleri sayın -

Genel formül

=SUMPRODUCT(--((ISNUMBER(FIND("abc",rng)) + ISNUMBER(FIND("def",rng)))>0))

Özet

X veya y içeren hücreleri saymak için, SUMPRODUCT işlevine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, F5 hücresindeki formül şöyledir:

=SUMPRODUCT(--((ISNUMBER(FIND("abc",B5:B11))+ISNUMBER(FIND("def",B5:B11)))>0))

Bu, aşağıda açıklanan tek hücreli formül çözümüdür. Ayrıca aşağıda açıklanan yardımcı bir sütuna dayalı daha basit bir formül kullanmak da mümkündür.

Açıklama

Hücreleri "VEYA mantığı" ile saydığınızda, iki kez saymamaya dikkat etmeniz gerekir. Örneğin, "abc" veya "def" içeren hücreleri sayıyorsanız, iki COUNTIF işlevini birlikte ekleyemezsiniz, çünkü hem "abc" hem de "def" içeren hücreleri iki kez sayabilirsiniz.

Tek hücreli çözüm

Tek bir formül için SUMPRODUCT'ü ISNUMBER + FIND ile kullanabilirsiniz. F5'teki formül:

=SUMPRODUCT(--((ISNUMBER(FIND("abc",B5:B11)) + ISNUMBER(FIND("def",B5:B11)))>0))

Bu formül, bir hücrenin içindeki metni bulan burada açıklanan formüle dayanmaktadır:

ISNUMBER(FIND("abc",B5:B11)

Bir hücre aralığı verildiğinde, bu pasaj, aralıktaki her hücre için bir değer olan bir DOĞRU / YANLIŞ değerler dizisi döndürür. Bunu iki kez kullandığımız için (bir kez "abc" ve bir kez "def" için), iki dizi elde edeceğiz.

Daha sonra, bu dizileri (+ ile) birlikte ekleyerek yeni tek bir sayı dizisi oluştururuz. Bu dizideki her sayı, orijinal iki dizideki DOĞRU ve YANLIŞ değerlerinin birlikte eklenmesinin sonucudur. Gösterilen örnekte, ortaya çıkan dizi şuna benzer:

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

Bu sayıları toplamamız gerekiyor, ancak iki kez saymak istemiyoruz. Bu nedenle, sıfırdan büyük herhangi bir değerin sadece bir kez sayıldığından emin olmalıyız. Bunu yapmak için, tüm değerleri "> 0" ile DOĞRU veya YANLIŞ yapmaya zorlarız, ardından çift eksi (-) ile 1 / 0'a zorlarız.

Son olarak, SUMPRODUCT, dizideki tüm değerlerin toplamını döndürür.

Yardımcı sütun çözümü

Her hücreyi ayrı ayrı kontrol etmek için bir yardımcı sütun ile sorun daha az karmaşıktır. EĞERSAY'ı iki değerle kullanabiliriz ("dizi sabiti" olarak sağlanır). C5'teki formül:

=--(SUM(COUNTIF(B5,("*abc*","*def*")))>0)

EĞERSAY, iki öğe içeren bir dizi döndürecektir: "abc" sayısı ve "def" sayısı için bir sayı. Çift sayımı önlemek için, öğeleri toplayıp sonucu "> 0" ile DOĞRU / YANLIŞ olarak zorlarız. Son olarak, DOĞRU / YANLIŞ değerlerini çift negatif (-) ile 1'lere ve 0'lara dönüştürüyoruz.

Nihai sonuç, her hücre için 1 veya 0'dır. Aralıktaki tüm hücrelerin bir toplamını elde etmek için, yardımcı sütunu toplamanız yeterlidir.

Ilginç makaleler...