
Vispārēja formula
=SUMPRODUCT(data*(headers=A1))
Kopsavilkums
Lai summētu vērtības kolonnās, saskaņojot atbilstošās kolonnu galvenes, varat izmantot formulu, kuras pamatā ir funkcija SUMPRODUCT. Parādītajā piemērā formula J5 ir:
=SUMPRODUCT(data*(LEFT(headers)=J4))
kur "dati" ir nosauktais diapazons B5: G14 un "galvenes" ir nosauktais diapazons B4: G4.
Formula summē kolonnas, kur galvenes sākas ar "a" un atgriež 201.
Paskaidrojums
Būtībā šī formula balstās uz funkciju SUMPRODUCT, lai summētu vērtības atbilstošās kolonnās nosauktajā diapazonā "dati" C5: G14. Ja visi dati SUMPRODUCT tiktu iesniegti vienā diapazonā, rezultāts būtu visu diapazona vērtību summa:
=SUMPRODUCT(data) // all data, returns 387
Lai lietotu filtru, saskaņojot kolonnu galvenes - kolonnas ar galvenēm, kas sākas ar “A”, mēs izmantojam LEFT funkciju šādi:
LEFT(headers)=J4) // must begin with "a"
Šī izteiksme atgriež vērtību TRUE, ja kolonnas galvene sākas ar "a", un FALSE, ja nē. Rezultāts ir masīvs:
(TRUE,TRUE,FALSE,FALSE,TRUE,FALSE)
Var redzēt, ka vērtības 1,2 un 5 atbilst kolonnām, kas sākas ar “a”.
SUMPRODUCT iekšpusē šis masīvs tiek reizināts ar "datiem". Apraides dēļ rezultāts ir šāds divdimensiju masīvs:
(8,10,0,0,7,0;9,10,0,0,10,0;8,6,0,0,6,0;7,6,0,0,6,0;8,6,0,0,6,0;10,11,0,0,7,0;7,8,0,0,8,0;2,3,0,0,3,0;3,4,0,0,4,0;7,7,0,0,4,0)
Ja mēs vizualizējam šo masīvu tabulā, ir viegli redzēt, ka operācijā ir saglabājušās tikai vērtības kolonnās, kas sākas ar "a", un visas pārējās kolonnas ir nulle. Citiem vārdiem sakot, filtrs saglabā interesējošās vērtības un "atceļ" pārējo:
A001 | A002 | B001 | B002 | A003 | B003 |
---|---|---|---|---|---|
8 | 10 | 0 | 0 | 7 | 0 |
9 | 10 | 0 | 0 | 10 | 0 |
8 | 6 | 0 | 0 | 6 | 0 |
7 | 6 | 0 | 0 | 6 | 0 |
8 | 6 | 0 | 0 | 6 | 0 |
10 | 11 | 0 | 0 | 7 | 0 |
7 | 8 | 0 | 0 | 8 | 0 |
2 | 3 | 0 | 0 | 3 | 0 |
3 | 4 | 0 | 0 | 4 | 0 |
7 | 7 | 0 | 0 | 4 | 0 |
Apstrādājot tikai vienu masīvu, SUMPRODUCT atgriež visu vērtību summu 201.
Summa pēc precīzas atbilstības
Iepriekš minētajā piemērā parādīts, kā summēt kolonnas, kas sākas ar vienu vai vairākām konkrētām rakstzīmēm. Apkopojot kolonnu, pamatojoties uz precīzu atbilstību, varat izmantot šādu vienkāršāku formulu:
=SUMPRODUCT(data*(headers=J4))