|
Materialet publicerat med tillstånd från Dennis Wallentin.
I XL finns det ett flertal inbyggda funktioner för
felhantering. Dvs funktioner för att undersöka konstanter och
utfall, där bland annat felmeddelanden av skilda slag kan
hanteras. Kombineras dessa med villkorsstyrda funktioner kan man
skaffa än större beräkningskontroll i XL.
Tabellen nedan visar ett flertal funktioner i arbete. Det finns
värden i kolumn A, vilka utvärderas i fyra avseenden. I
"Formel 1"-kolumnen används de s k ÄR-funktionerna (se
direkt-hjälpen för mer information om respektive funktion). I
"Formel 2"- och "Formel 3"-kolumnerna
exemplifieras alternativa lösningar (om än inte helt
överensstämmande med ÄR-funktionerna). I den sista kolumnen
visas hur funktionerna kan användas i kombination med
OM-funktionen, där man kan låta skilda beräkningar ske beroende
på utfallet av utvärderingen.

Resultatet av dessa funktioner återfinns i
tabelluppställningen nedan. Funktionen FEL.TYP returnerar heltal
och där innebörden av talen är vitt skilda (se direkt-hjälpen).

Utöver dessa presenterade funktioner finns det ytterligare en
funktion som kan vara av stort intresses - ÄRSAKNAD-funktionen. M
h a denna funktion kan man t ex låta felmeddelandet #SAKNAS!
ersättas av felmeddelandet "Värdet finns ej", vilket
är mer begripligt än det ursprungliga meddelandet!
-
=OM(ÄRSAKNAD(A2);"Värdet finns ej";
SUMMA(A2;G7)
Ibland kan formler och funktioner generera felvärden, såsom
#Division/0!. Om man så önskar så kan dessa döljas utan att
underliggande formel måste tas bort.
Med hjälp av OM-funktionen och ÄRFEL-funktionen kan man
överlåta till XL vad som ska hända. Antag att division ska
utföras mellan värdena i cellerna A1 och B1, där värdena i
cellen A1 = 4 respektive B1 = 0. Skapar vi formeln =A1/B1
genereras felvärdet #Division/0 (Om cellen är tom erhålls
också samma felvärde). Följande formel löser dock problemet:
-
=OM(ÄRFEL(A1/B1);"";A1/B1)
OM-funktionen utvärderar om påståendet att formeln A1/B1
genererar felvärde eller inte är sant eller falskt, om sant så
lämnas cellen tom och om falskt så utförs divisionen.
Alternativ kan funktionerna ÄRTOM, SAKNAS eller ÄRSAKNAD
användas.
Man kan även räkna antal felmeddelanden för ett område.
-
{=SUMMA(OM(ÄRFEL(Område);1))}
Vet man vilken typ av felmeddelande som kan uppstå så kan
skapa en kortare formel enligt följande:
-
=ANTAL.OM(Område;"#DIV/0!"
Alternativt kan felhantering också ske m h a den inbyggda
"Villkorsstyrda formateringskommandot". I dialogrutan
anges följande:
- "Formeln är"
-
=ÄRFEL(C1) - Det är viktigt att citationstecknen
kring uttrycket tas bort (manuellt) och att färgformatering
sker utifrån vald bakgrundsfärg, dvs samma färg ska
användas för felvärden som används i bakgrunden.
Nedan visas några praktiska exempel på funktioner.
- Räkna antal förekomster av tal i en lista (a):
{=SUMMA(OM(ÄRTAL($A$1:$A$5);1;0))}
Räkna antal förekomster av tal i en lista (b):
{=SUMMA(OM(ÄREJTEXT($A$1:$A$5);1;0))}
Räkna antal förekomster av text i en lista:
{=SUMMA(OM(ÄRTEXT($A$1:$A$5);1;0))}
Räkna antal felmeddelanden i en lista:
{=SUMMA(OM(ÄRFEL($A$1:$A$5);1;0))}
Räkna antal felmeddelande (ej #SAKNAS):
{=SUMMA(OM(ÄRF($A$1:$A$5);1;0))}
Vill man t ex utföra en summering men enbart under
förutsättning att ingen cell är tom i intervallet kan det
lösas på följande sätt:
-
=OM(ÄRTOM(A28:A30);"";SUMMA(A28:A30))
För att utvärdera huruvida ett uttryck t ex har det första
tecknet som alfanumeriskt (text) och de fyra påföljande tecknen
är numeriska (tal) kan det lösas m h a följande formel:
-
=OCH(ÄRFEL(VÄNSTER(A20)+1);ICKE(ÄRFEL(EXTEXT
(A20;2;4)+1)))
|