Excel-formel: Gjennomsnittlig lønn per uke -

Generisk formel

=SUMPRODUCT(hours*rate)/COUNTIF(hours,">0")

Sammendrag

For å beregne gjennomsnittlig lønn per uke, unntatt uker der ingen timer ble logget, og uten total lønn per uke som allerede er beregnet, kan du bruke en formel basert på funksjonene SUMPRODUCT og COUNTIF. I eksemplet vist er formelen i J5:

=SUMPRODUCT(D5:I5*D6:I6)/COUNTIF(D5:I5,">0")

som returnerer gjennomsnittlig lønn per uke, unntatt uker der ingen timer ble logget. Dette er en matriseformel, men det er ikke nødvendig å gå inn med kontroll + skift + enter fordi SUMPRODUCT-funksjonen kan håndtere de fleste matriser.

Forklaring

Du tror kanskje dette problemet kan løses med AVERAGEIF- eller AVERAGEIFS-funksjonen. Men fordi total lønn per uke ikke er en del av regnearket, kan vi ikke bruke disse funksjonene fordi de krever et område.

Når vi jobber innenfra og ut, beregner vi først total lønn for alle uker:

D5:I5*D6:I6 // total pay for all weeks

Dette er arrayoperasjon som multipliserer timer med priser for å beregne ukentlige lønnsbeløp. Resultatet er en matrise som dette:

(87,63,48,0,12,0) // weekly pay amounts

Siden det er 6 uker i regnearket, inneholder matrisen 6 verdier. Denne matrisen returneres direkte til SUMPRODUCT-funksjonen:

SUMPRODUCT((348,252,192,0,48,0))

SUMPRODUCT-funksjonen returnerer deretter summen av elementene i matrisen, 840. På dette punktet har vi:

=840/COUNTIF(D5:I5,">0")

Deretter returnerer COUNTIF-funksjonen et antall verdier større enn null i området D5: I5. Siden 2 av de 6 verdiene er tomme, og Excel vurderer tomme celler som null, returnerer COUNTIF 4.

=840/4 =210

Det endelige resultatet er 840 delt på 4, som tilsvarer 210

Interessante artikler...