Excel formula: preštejte vrstice, ki vsebujejo določene vrednosti -

Splošna formula

=SUM(--(MMULT(--(criteria),TRANSPOSE(COLUMN(data)))>0))

Povzetek

Če želite prešteti vrstice, ki vsebujejo določene vrednosti, lahko uporabite matrično formulo, ki temelji na funkcijah MMULT, TRANSPOSE, COLUMN in SUM. V prikazanem primeru je formula v G5:

(=SUM(--(MMULT(--(data=90),TRANSPOSE(COLUMN(data)))>0)))

kjer so podatki imenovani obseg B4: B12.

Opomba: to je formula matrike in jo je treba vnesti s tipko shift shift enter.

Pojasnilo

Logična merila, uporabljena v tej formuli, delujejo od znotraj navzven:

--(data=90)

kjer so podatki imenovani obseg B4: D12. To ustvari rezultat TRUE / FALSE za vsako vrednost v podatkih, dvojni negativ pa prisili vrednosti TRUE FALSE na 1 in 0, da dobi matriko, kot je ta:

(1,0,0;0,0,0;0,1,1;1,0,0;0,0,0;0,0,0;0,0,0;0,0,0;0,0,1)

Tako kot izvirni podatki je tudi ta matrika 9 vrstic s 3 stolpci (9 x 3) in gre v funkcijo MMULT kot matrika1 .

Array2 je izpeljan z:

TRANSPOSE(COLUMN(data))

To je zapleten in zabaven del te formule. Funkcija COLUMN se uporablja zgolj zaradi priročnosti kot način ustvarjanja številskega polja ustrezne velikosti. Če želite izvesti množenje matric z MMULT, mora biti število stolpcev v matriki1 (3) enako številu vrstic v matriki2 .

COLUMN vrne matriko s tremi stolpci (2,3,4) in TRANSPOSE spremeni to matriko v matriko s 3 vrsticami (2; 3; 4). Nato MMULT zažene in vrne rezultat matrike 9 x 1:

=SUM(--((2;0;7;2;0;0;0;0;4)>0))

Preverimo, da vnosi z ničelno vrednostjo> 0 in znova prisilimo TRUE FALSE na 1 in 0 z dvojnim negativom, da dobimo končno matriko znotraj SUM:

=SUM((1;0;1;1;0;0;0;0;1))

V tej zadnji matriki 1 predstavlja vrstico, kjer je logični test (podatki = 90) vrnil true. Vsota, ki jo vrne SUM, je število vseh vrstic, ki vsebujejo številko 90.

Dobesedno vsebuje

Če morate preveriti določene besedilne vrednosti, z drugimi besedami dobesedno preverite, ali celice vsebujejo določene besedilne vrednosti, lahko spremenite logiko v formuli na tej strani, da uporabite funkciji ŠTEVILO in ISKANJE. Na primer za štetje celic / vrstic, ki vsebujejo "jabolko", lahko uporabite:

=ISNUMBER(SEARCH("apple",data))

Podrobnosti o tem, kako deluje ta formula, najdete tukaj.

Dobre povezave

Odgovor Stackoverflow XOR LX

Zanimive Članki...