[ srdjansavic @ 20.01.2014. 17:35 ] @
Interesuje me kako da automatizujem prosečenje niza vrednost, u tabeli kao u prilogu, gde imam konkretnu vrednost između celina koje treba uprosečiti.
Takoće, broj pojedinačnih vrednosti u celini varira od slučaja do slučaja. Radi se o tabelama sa par hiljada vrednosti u nizu pa pokušavam da skratim proces ručnog obeležavanja od koje do koje ćelije ide koja celina.

Hvala vam unapred.
[ FOX028 @ 20.01.2014. 19:24 ] @
a prema kom uslovu odredjujes celine?
[ srdjansavic @ 20.01.2014. 20:14 ] @
Uređaj ih očitava i beleži kao .xls a karakteristično je što se na prelasku sa jedne celine na drugu pojavljuje neka nerealna vrednost i to znači da se zapisi koji slede odnose na narednu celinu. Ta nerealna vrednost je uvek ista, bez obzira koju celinu uređaj očitava np. "-7755,17". Uz pomoć excelovog filtera sve te "granične vrednosti" se mogu pobrisati i to nije problem. Problem nastaje kada treba da se odradi average, jer to obeležavanje svih celina traje predugo. Meni treba neka formula/makro ili kako se taj đavo zvao, koji ce da radi average za sve zapise u koloni, a između dve ćelije "-7755,17".
[ timmy @ 20.01.2014. 22:19 ] @
Resenje moze da bude sa AVERAGEIF

Code:

=AVERAGEIF(B:B,"<>-7755,17")


Pozdrav
[ srdjansavic @ 21.01.2014. 09:43 ] @
Hvala timmy, ali ta formula radi prosek za celu kolonu izuzimajući sve vrednosti -7755,17. Meni treba prosek za sve vrednosti između dve ćelije koje imaju vrednost -7755,17, pošto u koloni imam:
B1 -7755,17
B2 n1
B3 n1
B4 n1
B5 n1
B6 -7755,17
B7 n2
B8 n2
B9 n2
B10 n2
B11 -7755,17
B12 n3
B13 n3
B14 n3
B15 -7755,17
B16 n4
B17 n4
B18 n4
B19 n4
B20 -7755,17
mnogo puta, a da ne moram ja fizički da određujem range. Treba mi funkcija koja može da prepozna u kojoj ćeliji se nalazi vrednost -7755,17 i da za prosek uzima sve vrednosti do sledeće ćelije koja ima vrednost -7755,17.

=IF(B1=-7755,17;AVERAGE(IF(B1+1<>-7755,17;B1+1);IF(B1+2<>-7755,17;B1+2);IF(B1+3<>-7755,17;B1+3)))
obojeni delovi su B1 + jedna ćelija na dole, dve ćelije na dole, tri ćelije na dole....
[ djoka_l @ 21.01.2014. 11:03 ] @
Evo jednog rešenja na brzinu sa dve pomoćne kolone i AVERAGEIF funkcijom u trećoj koloni.
Radi posao, a nisam imao preterano vremena da napravim nešto bolje.
[ todra @ 22.01.2014. 00:20 ] @
Ako sam te dobro razumeo ovo bi ti rešilo problem uz malo rada.

Pozdrav!
[ 3okc @ 23.01.2014. 16:43 ] @
Slažem se sa @Ratkom, pivot tabela je za ovakve zadatke.

Koliko da objedinim rešenja formulama, sa i bez pomoćne kolone:

    
[ srdjansavic @ 24.01.2014. 16:05 ] @
Momci, hvala vam svima.
Rešili ste mi problem!

Pozdrav.
[ teodorajankovic @ 27.08.2014. 21:47 ] @
Nadovezujem se na ovu temu, jer se radi o average funkciji. Molim vas za pomoc, kako da napravim formulu koja ce da racuna prosek za poslednja 3 meseca (jun, jul, avgust) u nizu za x, y i z (tako da formula vazi i kada ubacim sledeci mesec)?

Row Mart'13 April'13 Maj'13 Jun'13 Jul'13 Avg'13
x 3,450,200 4,300,362 3,450,200 4,300,362 4,477,416 4,335,588
y 3,190,799 3,400,000 3,190,799 3,400,000 3,190,799 3,400,000
z 3,432,398 3,700,000 3,432,398 3,700,000 3,432,398 3,700,000

Hvala unapred,
Teodora
[ FOX028 @ 28.08.2014. 08:39 ] @
Za racunanje proseka ne moras koristiti samo funkciju AVERAGE, mozes to uraditi i kombinacijom funkcije SUM i COUNT. Funkcijom SUM saberes sve vrednosti i zatim zbir podelis sa brojem verdnosti, to je ustvari prosek. U prilogu imas primer kako bi se to moglo uraditi, ako dodas jos neki mesec samo je potrebno da kopiras formulu iz neke osencene celije u narednu kolonu. Ako bi okacila konkretna primer moglo bi se to mozda jos bolje estetski doraditi.
[ 3okc @ 28.08.2014. 15:30 ] @
@teodorajankovic,

Uobičajeno se tabele popunjavaju nadole: zapisi ili rekordi se slažu vertikalno, a polja ili kategorije nadesno. Tvoju tabelu za ilustraciju bi realno trebalo transponovati.

Što se tiče proseka za poslednja "3 unosa" to u mnogome zavisi kako su podaci organizovani i od dinamike unosa.

Npr. sa LOOKUP se može izdvojiti poslednje uneta vrednost (unutar nekog opsega) i onda od nje možemo ići "naviše" ili "nalevo" prema "ranijim" vrednostima.

Ovo bi bilo jedno rešenje za horizontalni vektor rng (kao u tvom primeru):
Code:
=AVERAGE(LOOKUP(2;1/SIGN(rng);rng);LOOKUP(2;1/SIGN(rng);OFFSET(rng;;-1));LOOKUP(2;1/SIGN(rng);OFFSET(rng;;-2)))


ili, za vertikalni:
Code:
=AVERAGE(LOOKUP(2;1/SIGN(rng);rng);LOOKUP(2;1/SIGN(rng);OFFSET(rng;-1;));LOOKUP(2;1/SIGN(rng);OFFSET(rng;-2;)))


Ovde prosek već uzima 3 vrednosti (poslednju i dve koje joj prethode), formula će javiti grešku za vektore koji imaju manje od 3 unosa!