startsida < företaget < organisera < datorer < tips
 
Felhanteringskalkylering

 
  Kalkylering
Kalkylering I
Kalkylering II
Kalkylering III
Kalkylering IV
Kalkylering V
Kalkylering VI
Kalkylering VII
Villkorsstyrd
kalkylering
Villkorsstyrd
formatering I
Villkorsstyrd
formatering II
Felhanterings-
kalkylering
Matriskalkylering I
Matriskalkylering II
Matriskalkylering III
Matriskalkylering IV
Matriskalkylering V
Datumkalkylering I
Datumkalkylering II
Datumkalkylering III
Datavalidering I
Datavalidering II
Cirkelreferenser
   
  Innehåll
expowera

 

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)))
Upp
Senast uppdaterad: 2005-10-05 © Dennis Wallentin