Excel-formel: Tæl flere kriterier med IKKE logik -

Generisk formel

=SUMPRODUCT((rng1=crit1)*ISNA(MATCH(rng2,crit2,0)))

Resumé

For at tælle med flere kriterier, inklusive logik til IKKE en af ​​flere ting, kan du bruge SUMPRODUCT-funktionen sammen med MATCH- og ISNA-funktionerne.

I det viste eksempel er formlen i G8:

=SUMPRODUCT((gender=F4)*ISNA(MATCH(group,G4:G5,0)))

Hvor "køn" er det navngivne område C4: C12, og "gruppe" er det navngivne område D4: D12.

Bemærk: MATCH og ISNA tillader, at formlen let skaleres for at håndtere flere udelukkelser, da du let kan udvide området til at omfatte yderligere "IKKE" -værdier.

Forklaring

Det første udtryk inde i SUMPRODUCTS tester værdier i kolonne C, Køn, mod værdien i F4, "Mand":

(gender=F4)

Resultatet er en matrix af SANDE FALSKE værdier som denne:

(SAND; FALSK; SAND; FALSK; SAND; SAND; FALSK; SAND; FALSK)

Hvor SAND svarer til "Mand".

Det andet udtryk inde i SUMPRODUCTS tester værdier i kolonne D, gruppe, mod værdierne i G4: G5, "A" og "B". Denne test håndteres med MATCH og ISNA således:

ISNA(MATCH(group,G4:G5,0))

MATCH-funktionen bruges til at matche hver værdi i det navngivne område "gruppe" mod værdier i G4: G5, "A" og "B". Hvor kampen lykkes, returnerer MATCH et tal. Hvor MATCH mislykkes, returnerer MATCH # N / A. Resultatet er en matrix som denne:

(1; 2; # N / A; 1; 2; # N / A; 1; 2; # N / A)

Da # N / A-værdier svarer til "ikke A eller B", bruges ISNA til at "reversere" arrayet til:

(FALSK; FALSK; SAND; FALSK; FALSK; SAND; FALSK; FALSK; SAND)

Nu svarer TRUE til "ikke A eller B".

Inde i SUMPRODUCT multipliceres de to array-resultater sammen, hvilket skaber et enkelt numerisk array inde i SUMPRODUCT:

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

SUMPRODUCT returnerer derefter summen, 2, der repræsenterer "2 hanner, der ikke er i gruppe A eller B".

Gode ​​links

Stackoverflow svar af Barry Houdini

Interessante artikler...