Exceli valem: summa nädalapäevade järgi -

Lang L: none (table-of-contents)

Üldine valem

=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)

Kokkuvõte

Andmete summeerimiseks nädalapäevade kaupa (st esmaspäeviti, teisipäeviti, kolmapäeviti jne kokku võttes) võite kasutada funktsiooni SUMPRODUCT koos WEEKDAY funktsiooniga.

Näidatud näites on H4 valem:

=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)

Selgitus

Võite mõelda, miks me ei kasuta funktsiooni SUMIF või SUMIFS? Need näivad olevat ilmne viis nädalapäevade kaupa kokku võtta. Kuid ilma argipäeva väärtusega abistaja veergu lisamata pole SUMIF-i jaoks võimalik luua nädalapäeva arvestavaid kriteeriume.

Selle asemel kasutame käepärast funktsiooni SUMPRODUCT, mis tegeleb massiividega graatsiliselt, ilma et oleks vaja kasutada klahve Control + Shift + Enter.

Kasutame SUMPRODUCTi ainult ühe argumendiga, mis koosneb sellest avaldisest:

(WEEKDAY(dates,2)=G4)*amts

Seestpoolt töötades on WEEKDAY funktsioon konfigureeritud valikulise argumendiga 2, mis põhjustab selle, et see tagastab esmaspäevast pühapäevani vastavalt numbrid 1–7. See ei ole vajalik, kuid see lihtsustab järjestatud päevade loendit ja järjestikku veerus G olevate numbrite valimist.

WEEKDAY hindab kõiki väärtusi nimetatud vahemikus "kuupäevad" ja tagastab numbri. Tulemuseks on selline massiiv:

(3; 5; 3; 1; 2; 2; 4; 2)

WEEKDAY tagastatud numbreid võrreldakse seejärel väärtuses G4, mis on 1.

(3; 5; 3; 1; 2; 2; 4; 2) = 1

Tulemuseks on TRUE / FALSE väärtuste massiiv.

(FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; FALSE; FALSE)

Järgmisena korrutatakse see massiiv nimevahemikus "amts" olevate väärtustega. SUMPRODUCT töötab ainult numbritega (mitte teksti ega tõeväärtusega), kuid matemaatilised toimingud sunnivad TÕENE / VALE väärtused automaatselt ühele ja nullile, nii et meil on:

(0; 0; 0; 1; 0; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)

Mis annab:

(0; 0; 0; 275; 0; 0; 0; 0)

Ainult selle ühe massiivi töötlemiseks summeerib SUMPRODUCT üksused ja tagastab tulemuse.

Huvitavad Artiklid...