
Üldine valem
=SUM(firstcell:INDEX(data,rows,cols))
Kokkuvõte
Vahemiku määratlemiseks teises lahtris oleva väärtuse põhjal saate kasutada funktsiooni INDEX. Näidatud näites on valem J7-s:
=SUM(C5:INDEX(data,J5,J6))
kus "andmed" on nimega vahemik B5: G9.
Selgitus
See valem tugineb INDEXi konkreetsele käitumisele - kuigi näib, et INDEX tagastab väärtuse kindlas asukohas, tagastab see tegelikult viite asukohale. Enamikus valemites ei märkaks te erinevust - Excel lihtsalt hindab viidet ja tagastab väärtuse. See valem kasutab seda funktsiooni dünaamilise vahemiku koostamiseks töölehe sisendi põhjal.
Summafunktsiooni sees on esimene viide lihtsalt esimene lahter vahemikus, mis hõlmab kõiki võimalikke lahtrid:
=SUM(C5:
Viimase lahtri saamiseks kasutame INDEX-i. Siinkohal anname INDEX-ile nimetatud vahemiku "andmed", mis on maksimaalne võimalik väärtuste vahemik, samuti väärtused J5 (read) ja J6 (veerud). INDEX ei tagasta vahemikku, vaid tagastab selles asukohas ainult ühe lahtri, näites E9:
INDEX(data,J5,J6) // returns E9
Algne valem on vähendatud järgmiseks:
=SUM(C5:E9)
mis tagastab 300, kõigi C5: E9 väärtuste summa.
J8 valem on peaaegu sama, kuid keskmise arvutamiseks kasutab SUM asemel keskmist. Kui kasutaja muudab väärtusi J5 või J6 piirkonnas, värskendatakse vahemikku ja tagastatakse uued tulemused.
Alternatiiv OFFSETiga
Funktsiooniga OFFSET saate luua sarnaseid valemeid, mis on näidatud allpool:
=SUM(OFFSET(C5,0,0,J5,J6)) // sum =AVERAGE(OFFSET(C5,0,0,J5,J6)) // average
OFFSET on loodud vahemiku tagastamiseks, nii et valemeid on võib-olla lihtsam mõista. OFFSET on aga kõikuv funktsioon ja võib suuremate, keerukamate töölehtede kasutamisel põhjustada jõudlusprobleeme.