Belirli bir değer içeren bir sütundaki hücre sayısını saymalıyım. Şimdi yaSayısız VEYA Ölçütlü Sayif
SAL
, veyaPRE
Belirli bir değer içeren bir sütundaki hücre sayısını saymalıyım. Şimdi yaSayısız VEYA Ölçütlü Sayif
SAL
, veyaPRE
içerirler kaç hücre saymak gerekir, Ancak
iVal = Application.WorksheetFunction.COUNTIF(Range("A:A"), "SAL")
: Şu anda aşağıdaki kodu kullanıyorum En hızlı yol sadece 2 COUNTIF:
iVal = Application.WorksheetFunction.CountIf(Range("A:A"), "SAL") + Application.WorksheetFunction.CountIf(Range("A:A"), "PRE")
+ 1, CountIf yalnızca bir parametre kabul edebileceğinden bu en iyi yaklaşımdır. –
Bu harika çalışıyor ama uzun vadede çok daha değişken bir yöntemle sonuçlanacak ve daha verimli bir yöntem bulmaya çalışacağım; – BradStevenson
@MattDonnan aslında COUNTIF'i birden fazla testte beslemek mümkündür, yukarı bakınız. – brettdj
Sen (birden fazla argüman alabilir) standart EĞERSAY formülün VBA
eşdeğer kullanabilirsiniz. Bu
MsgBox Evaluate("Sum(COUNTIF(A:A,{""PRE"",""SAL""}))")
+1 Şimdiye kadar en iyi yanıtı kaçırmayın! Bir dizi dizgeyi iletmek için VBA seçeneği eklemek için ödeme yapabilir miyim 'MsgBox Evaluate (" Sum (COUNTIF (A: A, {"" "& Join (v," "", "" ") &" ""})) " ' –
@chrisneilsen thx - ve dize dizisi üzerinde mükemmel öneri. – brettdj
Neden CountIfs
işlevini kullanın Yüklü
=SUM(COUNTIF(A:A, {"SAL","PRE"}))
VBA Eşdeğer gerekli
Standart Formül olarak genişletilebilir?
Örnek:
Application.CountIfs(CR1_range, V_1, CR2_range, V_2, CR3_range, V_3, CR4_range, V_4)
CR1_range besbelli aralıktır ve v_1 sizin değişken
Düzenleme geçerli:-posta ile gönder (Herkes ilgileniyor örtmek başvuru için silmedim) Sadece bir VEYA ifadesi olması gerektiğini gördük, cevabım sadece
benim için iyi çalıştı takiben Bir VE ifadesinde için de kullanılabilir: -
Dim val1 as string, val2 as string
val1 = "value1"
val2 = "value2"
count = Application.WorksheetFunction.CountIfs(ThisWorkbook.Names("firstname").RefersToRange, val1 , ThisWorkbook.Names("secondname").RefersToRange, val2)
Bu webpage, Excel'deki Adlandırılmış Aralıklarla ilgili olarak yardımcı olur.
neden olmasın basit İkinci satır 'iVal2 = Application.WorksheetFunction.COUNTIF (Range ("A: A"), "PRE")' ve ardından eklemek (veya her ikisi raporu) toplam olarak değişkenleri? – brettdj
Çünkü yaklaşık 20 değişkene kadar ekleyeceğim ve bunu yaklaşık 30 farklı sütun için yapacağım, bu yüzden hepsini tek bir satır halinde alabileceğim kadar çok işi keseceğim! – BradStevenson
Sütunun değerlerini bir diziye okumaya ne dersiniz? Sonra döngü yapabilir, koşullar ekleyebilir ve benzeri? – JimmyPena