Excel-formel: Räkna flera kriterier med INTE logik -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att räkna med flera kriterier, inklusive logik för INTE en av flera saker, kan du använda SUMPRODUCT-funktionen tillsammans med MATCH- och ISNA-funktionerna.

I exemplet som visas är formeln i G8:

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

Där "kön" är det namngivna området C4: C12 och "grupp" är det namngivna området D4: D12.

Obs: MATCH och ISNA gör att formeln lätt kan skala för att hantera fler uteslutningar, eftersom du enkelt kan utöka intervallet för att inkludera ytterligare "INTE" -värden.

Förklaring

Det första uttrycket inuti SUMPRODUCTS testar värden i kolumn C, Kön, mot värdet i F4, "Man":

(gender=F4)

Resultatet är en array med SANTA FALSKA värden så här:

(SANT; FALSK; SANN; FALSK; SANT; SANN; FALSK; SANT; FALSK)

Där SANT motsvarar "Man".

Det andra uttrycket inuti SUMPRODUCTS testar värden i kolumn D, grupp, mot värdena i G4: G5, "A" och "B". Detta test hanteras med MATCH och ISNA så här:

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

MATCH-funktionen används för att matcha varje värde i det namngivna området "grupp" mot värden i G4: G5, "A" och "B". Där matchen lyckas returnerar MATCH ett nummer. Om MATCH misslyckas returnerar MATCH # N / A. Resultatet är en array som denna:

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

Eftersom # N / A-värden motsvarar "inte A eller B" används ISNA för att "vända" arrayen till:

(FALSK; FALSK; SANN; FALSK; FALSK; SANT; FALSK; FALSK; SANT)

Nu motsvarar SANT "inte A eller B".

Inuti SUMPRODUCT multipliceras de två array-resultaten tillsammans, vilket skapar en enda numerisk array inuti SUMPRODUCT:

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

SUMPRODUCT returnerar sedan summan, 2, som representerar "2 hanar som inte är i grupp A eller B".

Bra länkar

Stackoverflow-svar av Barry Houdini

Intressanta artiklar...