Norėdami apibrėžti diapazoną pagal kitos ląstelės vertę, galite naudoti INDEX funkcija . Pateiktame pavyzdyje J7 formulė yra tokia:
= SUM (firstcell: INDEX (data,rows,cols))
kur „duomenys“ yra pavadintas diapazonas B5: G9.
PaaiškinimasŠi formulė remiasi konkrečiu INDEX elgesiu, nors atrodo, kad INDEX grąžina vertės tam tikroje vietoje, jis iš tikrųjų grąžina nuoroda į vietą. Daugelyje formulių skirtumo nepastebėtumėte - „Excel“ tiesiog įvertina nuorodą ir grąžina vertę. Ši formulė naudoja šią funkciją, kad sukurtų dinaminį diapazoną pagal darbalapio įvestį.
„Excel“ rodo formulę, o ne rezultatą
Sumos funkcijos viduje pirmoji nuoroda yra tiesiog pirmasis langelis diapazone, apimančiame visas galimas ląsteles:
= SUM (C5: INDEX (data,J5,J6))
Norėdami gauti paskutinį langelį, naudojame INDEX. Čia pateikiame INDEX pavadintas diapazonas „duomenys“, tai yra didžiausias galimas verčių diapazonas, taip pat vertės iš J5 (eilutės) ir J6 (stulpeliai). INDEX negrąžina diapazono, jis pateikia tik vieną langelį toje vietoje, E9 pavyzdyje:
„Excel“, jei # nėra
= SUM (C5:
Pradinė formulė sumažinama iki:
INDEX (data,J5,J6) // returns E9
kuris grąžina 300, visų C5 reikšmių sumą: E9.
kaip išspręsti „Excel“ lygtį
J8 formulė yra beveik ta pati, tačiau naudojama VIDUTINĖ vietoj SUMA apskaičiuoti vidurkį. Kai vartotojas pakeičia J5 arba J6 reikšmes, diapazonas atnaujinamas ir pateikiami nauji rezultatai.
Alternatyva su OFFSET
Panašias formules galite sukurti naudodami OFFSET funkcija , nurodyta apačioje:
= SUM (C5:E9)
„OFFSET“ skirta grąžinti diapazoną, todėl formules galbūt lengviau suprasti. Tačiau poslinkis yra a nepastovi funkcija , ir gali sukelti našumo problemų, kai naudojamas didesniuose, sudėtingesniuose darbalapiuose.
Autorius Dave'as Brunsas