Excel-formel: Definer rækkevidde baseret på celleværdi -

Generisk formel

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

Resumé

For at definere et interval baseret på en værdi i en anden celle kan du bruge INDEX-funktionen. I det viste eksempel er formlen i J7:

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

hvor "data" er det navngivne område B5: G9.

Forklaring

Denne formel er afhængig af en bestemt opførsel af INDEX - selvom det ser ud til, at INDEX returnerer værdien på et bestemt sted, returnerer den faktisk referencen til placeringen. I de fleste formler bemærker du ikke forskellen - Excel evaluerer simpelthen referencen og returnerer værdien. Denne formel bruger denne funktion til at konstruere et dynamisk område baseret på regnearkinput.

Inde i sumfunktionen er den første reference simpelthen den første celle i området, der dækker alle mulige celler:

=SUM(C5:

For at få den sidste celle bruger vi INDEX. Her giver vi INDEX det navngivne interval "data", som er det maksimalt mulige interval af værdier, og også værdierne fra J5 (rækker) og J6 (kolonner). INDEX returnerer ikke et interval, det returnerer kun en enkelt celle på det sted, E9 i eksemplet:

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

Den oprindelige formel er reduceret til:

=SUM(C5:E9)

der returnerer 300, summen af ​​alle værdier i C5: E9.

Formlen i J8 er næsten den samme, men bruger GEMIDDEL i stedet for SUM til at beregne et gennemsnit. Når en bruger ændrer værdier i J5 eller J6, opdateres intervallet, og nye resultater returneres.

Alternativ med OFFSET

Du kan opbygge en lignende formel med OFFSET-funktionen, vist nedenfor:

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

OFFSET er designet til at returnere et interval, så formlerne er måske lettere at forstå. OFFSET er imidlertid en ustabil funktion og kan forårsage ydeevne problemer, når de bruges i større, mere komplekse regneark.

Interessante artikler...