Velkommen, Gjest.

< Tilbake til oversikten | Hvem kan lese?

Programmeringsspørsmål - IF/HVIS-operasjoner i Excel

#1

banana sa for siden:

Jeg er uerfaren når det gjelder programmering, og holder på med å dissekere og dokumentere en stor Excel arbeidsbok (type 15 regneark). Mange av regneoperasjonene foregår i tabeller med tildels lange "formler" med mange HVIS-operasjoner inni hverandre (ja, jeg har norsk Office-pakke, men jobber med å få byttet den ut med en engelsk).

Finnes det en lur måte å organisere informasjonen i en slik lang "formel" (hva kaller man det?) slik at jeg på en enkel måte for oversikten over hva den inneholder? Et eksempel kommer her:

=HVIS(Inndata!B$34=1; 0; HVIS(OG(Inndata!B$34>1;Inndata!B$34<6); HVIS(ELLER(A12LInndata!$F$34); 0; Inndata!$C$34+(Inndata!$D$34-Inndata!$C$34)/STØRST((Inndata!$F$34-Inndata!$E$34); 0,0001) * (A12L-Inndata!$E$34)); HVIS(OG((Inndata!$E$34/L)<=A12;A12


#2

torsk sa for siden:

Grøsseball for en stygg formel. :humre:

Jeg tror jeg ville prøvd å bruke pseudocode for å dokumentere regneark-celler, men det er sikkert litt tiltak om man ikke er vant til det.

En annen måte er å prøve å dele opp HVIS-funksjonene på flere linjer, det er de som gjør det vanskelig siden de tar tre parametere. HVIS(A; B; C) blir da til:

HVIS(A
        ; B
        ; C
    )
Jeg syns det blir enklere da, men jeg er vant til å lese kode som er stykket opp på lignende vis. Under har jeg prøvd på formelen din, ikke sikkert du syns det blir noe lettere. :vetikke: (Ingen garantier for at jeg har splittet opp riktig.) [code] =HVIS(Inndata!B$34=1 ; 0 ; HVIS(OG(Inndata!B$34>1;Inndata!B$34<6) ; HVIS(ELLER(A12*LInndata!$F$34 ) ; 0 ; Inndata!$C$34+(Inndata!$D$34-Inndata!$C$34)/STØRST((Inndata!$F$34-Inndata!$E$34); 0,0001) * (A12*L-Inndata!$E$34)); HVIS(OG((Inndata!$E$34/L)<=A12;A12

#3

Adrienne sa for siden:

Wow, det var formelen sin det. :gal:

Jeg har flere ganger måtte skrive om slike formler til vanlig språk for å forstå hva de egentlig prøver å si. Hvis(inndata=1;0;ettellerannet) betyr jo at hvis det som står i cellen er lik 1 skal det stå null, hvis det ikke 1 skal det stå ettellerannet, i ditt tilfelle så skal en da gjennomføre en ny hvis-setning, hvor en ser på om inndata er større eller mindre enn ett tall.


#4

Tjorven sa for siden:

Hjelpes.

I slike situasjoner bør man bruke noe annet enn HVIS-programmering i excel.

Jeg tror jeg ville gjort som Adrienne beskriver. Skriv ned med ord alt som står der.


#5

banana sa for siden:

[quote=torsk;2166699]
...
En annen måte er å prøve å dele opp HVIS-funksjonene på flere linjer, det er de som gjør det vanskelig siden de tar tre parametere. HVIS(A; B; C) blir da til:

HVIS(A
        ; B
        ; C
    )
Jeg syns det blir enklere da, men jeg er vant til å lese kode som er stykket opp på lignende vis. Under har jeg prøvd på formelen din, ikke sikkert du syns det blir noe lettere. :vetikke: (Ingen garantier for at jeg har splittet opp riktig.) [code] =HVIS(Inndata!B$34=1 ; 0 ; HVIS(OG(Inndata!B$34>1;Inndata!B$34<6) ; HVIS(ELLER(A12*LInndata!$F$34 ) ; 0 ; Inndata!$C$34+(Inndata!$D$34-Inndata!$C$34)/STØRST((Inndata!$F$34-Inndata!$E$34); 0,0001) * (A12*L-Inndata!$E$34)); HVIS(OG((Inndata!$E$34/L)<=A12;A12

Foreldreportalen er i en flytteprosess, denne versjonen av FP er fortsatt under utvikling. Hvis du vil svare i tråden, så kan du gjøre det her.