Citat:
pcpopovic: Znam teorijski (šta je ugnježdena funkcija), ali kako je napisati u, već postojeću, funkciju
Ugniježđena funkcija je formula koju postavljaš umjesto nekog argumenta neke druge funkcije/formule
Ako ne budeš sam radio i isprobavao ostat ćeš samo na teoriji ali od prakse ništa.
Dakle ako pogledamo formulu za E stupac na sheetu 'Artikli'
Code:
=OFFSET(Cene!$C$6;MATCH(1E+306;Cene!$C$6:$C$56;1)-2;0)
U ovoj formuli
OFFSET funkcije iznad prvi argument je 'reference' ili "Cene!$C$6". Na njegovo mjesto postaviš formulu koja će vratit dotični tekst ili argument. Dakle, ti trebaš pomoću
INDIRECT/
ADDRESS vratiti istu adresu ćelije
Argumenti OFFSET funkcije su
Code:
=OFFSET(reference;rows;cols;height;width)
a argumenti
INDIRECT funkcije su
Code:
=INDIRECT(ref_text;a1)
Umjesto argumenta "ref_text" unutar Indirect formule ti postaviš
ADDRESS formulu koju sam ti dao u postu iznad. Address funkcija će vratit tekst "Cene!$C$6" a Indirect funkcija podatak iz navedene adrese.
S obzirmo na navedeno formula bi izgledala kao
Code:
=INDIRECT(ADDRESS-formula)
Nadalje ako pogledamo formulu za vraćanje posljednjeg podatka iz stupca
Code:
=OFFSET(Cene!$C$6;MATCH(1E+306;Cene!$C$6:$C$56;1)-2;0)
Opet ista stvar
Umjesto argumenta "Cene!$C$6" ti
ugnijezdiš formulu INDIRECT(ADDRESS-formula)
pa tako imaš na kraju formulu sa
ugniježđenim funkcijama
Code:
=OFFSET(INDIRECT(ADDRESS-formula);MATCH(1E+306;INDIRECT(ADDRESS-formula2))-2;0)
Isti princip primjeniš na drugu formulu u F stupcu s razlikom u Address formuli tj umjesto '-2' postaviš '-1' da ti se referencira na slijedeći susjedni stupac
Nadalje, u formuli sa Address funkcijom treći argument je "abs_num" nalazi se broj "2" što označava da želimo rezultat adrese koja sadrži "Relativni stupac 'C'/Apsolutni redak '$6'". Pogledaj sve brojeve za ovaj argument na
tutorijalu ADDRESS funkcija. Tako prilikom kopiranja prema dolje imamo željene adrese ćelija i raspona ćelija koje će se uvećavati za svaki četvrti stupac.
Ako želiš vidjeti tok izračuna formule tada koristi
Evaluate Formula u Excelu.
.
Pomoću tipke F9 možeš vrlo brzo vidjeti rezulat ugniježđene funkcije (
vidi pri kraju tutorijala opis kako to možeš uraditi).
Na kraju sve to ugnijezdiš u IFERROR funkciju da ignorira grešku ako nema uvjeta.
Code:
=IFERROR(Offset-formula;"")
I za kraj, valjda sam objasnio da možeš shvatiti, ako ti ovo ne pomogne, ja više nemam ideja
Vidi prikačeni primjer sa gotovim formulama.