onsdag 19 september 2007

OM-satsen i Calc - del 1

Med OM-satsen kan du skriva formler som undersöker om ett uttryck är sant eller falskt. Om sant ges ett svar (som du kan bestämma) och om falskt ges ett annat svar (även detta svar kan du bestämma). Formeln för dagen kommer slutligen se ut så här =OM(SUMMA(B1:B4)>2000;SUMMA(B1:B4)-(SUMMA(B1:B4)*0,2);SUMMA(B1:B4))
Men låt dig inte skrämmas vi går igenom del för del.

Dagens exempel:

- Din affär lämnar 20 % rabatt ifall kunden handlar för mer än 2000 kr. Kunden handlar tre saker en mp3-spelare för 1200 kr, ett paket batterier för 50 kr och en perkulator för 650 kr. Okej, säger du, det blir 1900 kr alltså ingen rabatt det var väl inga problem. Men vad händer om vi köper en CD-skiva för 110 kr. Nu blev det lite jobbigare 2010 kr alltså får vi 20% rabatt... jaja vi gör en modell i Calc. Vi börjar med utgångsscenariot (se bilden nedan) lämnar en rad fri och summerar sedan med hjälp av autosumma (inringat i rött) eller skriver formeln "=SUMMA(B1:B4)" (visas i formelfältet på bilden).

OM-satsen (med ett villkor)

Nu ska vi börja bygga våran OM-sats. När du skriver en OM-sats ska du först skriva ett villkor som jämför två celler. För att jämföra cellerna kan du använda dig av såkallade relationsoperatorer (visas i tabellen nedan). I vårat exempel vill vi undersöka om summan av B1:B4 är större än 2000 kr, eftersom vi då ska räkna bort rabatten. Grunden kommer därför att se ut så här "=OM(SUMMA(B1:B4)>2000)" och skulle i ord uttryckas om summan av cellområdet B1 till B4 är större än 2000 så är testet sant annars falskt. Eftersom värdet är mindre så står det FALSKT i cellen. OK vi har nu fått programmet att svara på det som vi tidigare konstaterat, nu går vi vidare.

Relationsoperationer

Relationsoperator

Effekt

Lika med (=)

Visar de värden som är lika med villkoret.

Mindre än (<)

Visar de värden som är mindre än villkoret.

Större än (>)

Visar de värden som är större än villkoret.

Mindre än eller lika med (< =)

Visar de värden som är mindre än eller lika med villkoret.

Större än eller lika med (> =)

Visar de värden som är större än eller lika med villkoret.

Inte lika med (< >)

Visar de värden som inte är lika med villkoret.

Kopierat direkt ur hjälpfilen för OOo

Egna svar vid sant respektive falskt

Jag sa tidigare att man själv kan bestämma vilket svar man får beroende på om testet är sant eller falskt. Här är formen på OM-satsen:

OM(villkor;"svar vid sant";"svar vid falskt").

Villkoret motsvaras av "SUMMA(B1:B4)>2000". Ifall villkoret är sant så vill vi visa vilket priset är efter rabatten är avdragen. Här gör jag denna beräkning med formen:

"pris utan rabatt" - ("pris utan rabatt" * rabatt)

dvs. är priset 2010 kr så beräknas pris med rabatt så här: 2010 - (2010 * 0,20)

Eftersom vi priset utan rabatt har formeln SUMMA(B1:B4) kommer vi beräkna priset med rabatt så här:

SUMMA(B1:B4)-(SUMMA(B1:B4)*0,2)

Lägger vi till den till OM-satsen ser den ut så här:
=OM(SUMMA(B1:B4)>2000;SUMMA(B1:B4)-(SUMMA(B1:B4)*0,2))

Nu vill vi lägga till "falska" svaret vilket ju är formeln vi tog fram från början med autosumma. Dvs. SUMMA(B1:B4). Lägger vi till detta till OM-satsen får vi slutligen våran fullständiga formel:

=OM(SUMMA(B1:B4)>2000;SUMMA(B1:B4)-(SUMMA(B1:B4)*0,2);SUMMA(B1:B4))

och vi ser åter igen talet 1900 i cellen B5.

För att göra slutliga testet skriver vi dit CD-skivan som kostade 110 kr. Om vi inte hade haft formeln hade det nu stått 2010 i B5, men i stället står det 1608 vilket alltså är priset när du lämnat rabatten. Kunden tjänar alltså pengar på att lägga till en CD-skiva i kundvagnen.

I nästa blogg kommer vi att arbeta vidare med det exempel vi påbörjat idag.

Inga kommentarer: