Excel-formel: Definer område basert på celleverdi -

Generisk formel

=SUM(firstcell:INDEX(data,rows,cols))

Sammendrag

For å definere et område basert på en verdi i en annen celle, kan du bruke INDEX-funksjonen. I eksemplet vist er formelen i J7:

=SUM(C5:INDEX(data,J5,J6))

der "data" er det navngitte området B5: G9.

Forklaring

Denne formelen er avhengig av en spesifikk oppførsel fra INDEX - selv om det ser ut til at INDEX returnerer verdien på et bestemt sted, returnerer den faktisk referansen til stedet. I de fleste formler vil du ikke merke forskjellen - Excel evaluerer bare referansen og returnerer verdien. Denne formelen bruker denne funksjonen til å konstruere et dynamisk område basert på regnearkinndata.

Inne i sumfunksjonen er den første referansen ganske enkelt den første cellen i området som dekker alle mulige celler:

=SUM(C5:

For å få den siste cellen bruker vi INDEX. Her gir vi INDEX det navngitte området "data", som er det maksimalt mulige verdiområdet, og også verdiene fra J5 (rader) og J6 (kolonner). INDEX returnerer ikke et område, det returnerer bare en enkelt celle på det stedet, E9 i eksemplet:

INDEX(data,J5,J6) // returns E9

Den opprinnelige formelen er redusert til:

=SUM(C5:E9)

som returnerer 300, summen av alle verdiene i C5: E9.

Formelen i J8 er nesten den samme, men bruker GJENNOMSNITT i stedet for SUM for å beregne et gjennomsnitt. Når en bruker endrer verdier i J5 eller J6, oppdateres området, og nye resultater returneres.

Alternativ med OFFSET

Du kan lage lignende formler med OFFSET-funksjonen, vist nedenfor:

=SUM(OFFSET(C5,0,0,J5,J6)) // sum =AVERAGE(OFFSET(C5,0,0,J5,J6)) // average

OFFSET er designet for å returnere et område, så formlene er kanskje enklere å forstå. OFFSET er imidlertid en ustabil funksjon, og kan forårsake ytelsesproblemer når den brukes i større, mer komplekse regneark.

Interessante artikler...