Excel-formel: COUNTIF med ikke sammenhængende område -

Indholdsfortegnelse

Generisk formel

=SUM(COUNTIF(INDIRECT(("rng1","rng2","rng3")),criteria))

Resumé

For at tælle et ikke-sammenhængende interval med kriterier kan du bruge COUNTIF-funktionen sammen med INDIRECT og SUM. I det viste eksempel indeholder celle I5 denne formel:

=SUM(COUNTIF(INDIRECT(("B5:B8","D7:D10","F6:F11")),">50"))

Forklaring

COUNTIF tæller antallet af celler i et område, der opfylder givne kriterier. Hvis du prøver at bruge COUNTIF med flere områder adskilt af kommaer, får du en fejl. En løsning er at skrive områderne ud som tekst i en matrixkonstant inde i INDIRECT-funktionen på denne måde:

INDIRECT(("B5:B8","D7:D10","F6:F11"))

INDIRECT evaluerer tekstværdierne og sender de flere intervaller til COUNTIF. Da COUNTIF modtager mere end et interval, returnerer det mere end et resultat i en matrix. Vi bruger SUM-funktionen til at "fange" og håndtere arrayet:

=SUM((4,2,3))

SUM-funktionen returnerer derefter summen af ​​alle værdier, 9. Selvom dette er en matrixformel, kræver den ikke CSE, da vi bruger en matrixkonstant.

Bemærk: INDIRECT er en ustabil funktion og kan påvirke projektmappens ydeevne.

Flere COUNTIF'er

En anden måde at løse dette problem er at bruge mere end et COUNTIF:

=COUNTIF(B5:B8,">50")+COUNTIF(D7:D10,">50")+COUNTIF(F6:F11,">50")

Med et begrænset antal intervaller kan denne tilgang være lettere at implementere. Det undgår mulige ydeevneeffekter af INDIRECT og tillader en normal formelsyntaks for intervaller, så intervaller opdateres automatisk med ændringer i regnearket.

Enkeltcelleområder

Med enkeltcelleområder kan du skrive en formel uden COUNTIF på denne måde:

=(A1>50)+(C1>50)+(E1>50)

Hvert udtryk returnerer SAND eller FALSK, når de tvinges til 1 og nul under matematikoperationen. Dette er et eksempel på brug af boolsk logik i en formel.

Interessante artikler...