Vzorec programu Excel: Spočítajte riadky, ktoré obsahujú konkrétne hodnoty -

Obsah

Všeobecný vzorec

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

Zhrnutie

Ak chcete počítať riadky, ktoré obsahujú konkrétne hodnoty, môžete použiť vzorec poľa založený na funkciách MMULT, TRANSPOSE, COLUMN a SUM. V zobrazenom príklade je vzorec v G5:

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

kde údajmi je pomenovaný rozsah B4: B12.

Poznámka: toto je vzorec poľa a musí sa zadávať pomocou klávesovej skratky Enter.

Vysvetlenie

Logické kritériá použité v tomto vzorci sú zvnútra:

--(data=90)

kde údajmi je pomenovaný rozsah B4: D12. Toto vygeneruje výsledok TRUE / FALSE pre každú hodnotu v dátach a dvojitý zápor vynúti hodnoty TRUE FALSE na 1 a 0, čím sa získa pole podobné tomuto:

(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)

Rovnako ako pôvodné údaje, aj toto pole má 9 riadkov a 3 stĺpce (9 x 3) a prechádza do funkcie MMULT ako pole1 .

Pole 2 je odvodené od:

TRANSPOSE(COLUMN(data))

Toto je zložitá a zábavná súčasť tohto vzorca. Funkcia COLUMN sa používa jednoducho kvôli pohodliu ako spôsob generovania numerického poľa správnej veľkosti. Ak chcete vykonať násobenie matice pomocou MMULT, počet stĺpcov v poli1 (3) sa musí rovnať počtu riadkov v poli2 .

COLUMN vráti pole s 3 stĺpcami (2,3,4) a funkcia TRANSPOSE zmení toto pole na pole s 3 riadkami (2; 3; 4). MMULT potom spustí a vráti výsledok poľa 9 x 1:

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

Skontrolujeme nenulové položky s> 0 a znova vynútime TRUE FALSE na 1 a 0 s dvojitým záporom, aby sme získali konečné pole vo vnútri SUM:

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

V tomto konečnom poli 1 predstavuje riadok, kde logický test (údaje = 90) vrátil hodnotu true. Celková suma vrátená súčtom je počet všetkých riadkov, ktoré obsahujú číslo 90.

Doslovný obsahuje

Ak potrebujete skontrolovať konkrétne textové hodnoty, inými slovami, doslova skontrolovať, či bunky obsahujú určité textové hodnoty, môžete zmeniť logiku vo vzorci na tejto stránke a použiť funkciu ISNUMBER a SEARCH. Napríklad na spočítanie buniek / riadkov, ktoré obsahujú slovo „jablko“, môžete použiť:

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

Podrobnosti o fungovaní tohto vzorca tu.

Dobré odkazy

Odpoveď Stackoverflow od XOR LX

Zaujímavé články...