mariena
01.10.15,20:38
Vedel by mi niekto z vas poradit ako si z automatizovat vypocet priemeru hodnot?

mam v stlpci vyse 5000 hodnot, a potrebujem aby mi excel spravil v jednej bunke (v jednom vedlajsom stlpci) priemer najprv poslednych 7hodnot,
AVERAGE(A1:A7)
AVERAGE(A2:A8)
AVERAGE(A3:A9)
AVERAGE(A4:A10)
....atd....
lenze potom potrebujem spravit priemer aj poslednyh 8, 9 , 10 ,11 az dajme tomu priemer 25hodnot za sebou
..je to dost pracne vytvorit manualne
napadlo ze v jednej bunke hore by som si urcil kolko hodnot mam za sebou priemerovat. Dajme tomu ze je tam 6.
da sa napisat vzorec kde by to excel bral tak ze ak je v riadku cislo10 tak odkaz na cislo riadka minus ta moja hodnota v bunke by som dal do vzorca.
AVERAGE(CISLO RIADKA-HODNOTA BUNKY:CISLO RIADKA) cize excel by si sam zistil ze ak je na riadku 10 a v bunke mam 6 tak by zacal s priemerom od 10-6 = 4 a koncil by na cisle riadka 10. cize by mal =AVERAGE(A4:A10)

a ked by som tu bunku skopiroval nizsie tak by mal riadok 11, =AVERAGE(11-6:A11) to jest =AVERAGE(A5:A11) atd....


jedna sa mi o to ze ci by bolo mozne rozsah AVERAGE urcit nejakym vzorcom kde by sa zohladnovalo cislo riadka a hodnota nejakej bunky ?


dufam ze to niekto pochopi o co mi ide :) , v prilohe davam aj excel ako to robim manualne... nepotrebujem mat slpce zvlast pre 7,8 ,9 atd... staci mi len jeden kde by som si len prepisoval hodnotu na pocet 7,8,9...atd
Consultix
01.10.15,21:21
Podla mna, manualne je to rychlejsie vytvorit, ako napisat tuto otazku na poradu :)
Consultix
01.10.15,21:43
Tvojim riesenim je formula:
=AVERAGE(INDIRECT(CONCATENATE("A";ROW())):INDIRECT(CONCATENATE("A";ROW()+$E$2-1)))

Princip je taky, ze rozsah definujes dynamicky. Funkcia ROW() Ti vrati hodnotu, v ktorom riadku si. Pomocou (CONCATENATE("A";ROW()) z toho generujes oznacenie bunky, v 3. riadku to bude A3. A pomocou funkcie INDIRECT povies excelu, ze rozsah nezadavas priamo, ale nepriamo, teda vysledok vyrazu, ktory je v zatvorke je hodnotou pre rozsah.
V 3. riadku teda pocitas AVERAGE(A3:A4). K hodnote A4 sme sa dostali tak, ze sme v 3. riadku, k tomu pripocitame hodnotu z E2 (kde je dane pre aky rozsah chceme priemer) a odpocitame 1 aby sme dostali rozsah 2 buniek a nie 3.

Rozdiel voci tvojmu rieseniu je v tom, ze to pocita priemer nie predchadzajucich X riadkov, ale nasledujucich X riadkov. To je ale asi detail, ktory sa da lahko zmenit.
mariena
02.10.15,11:39
super vdaka, moc mi to pomohlo. len este :) detail v zavere som sice lahko zmenil na priemer ratania smerom hore, ale mam problem potom ze mi prve riadky vyhadzuje #ODKAZ! az kym je schopny zratat ten definovany pocet na priemer.
Dalej neviem operovat s bunkami v tkorych je #ODKAZ!. Da sa to nejako ignorovat v dalsich vzorcoch, lebo tie mi potom nerata?
Consultix
02.10.15,14:16
Dopln to este podmienkou, ze ak ROW()>=($E$2+2) potom ma pocitat, ak nie, tak si das hodnotu, s ktorou dalej pracujes ako s podmienkou v dalsich vzorcoch, alebo vtedy tu bunku nechas prazdnu, teda bude mat hodnotu: ""