|
Materialet publicerat med tillstånd från Dennis Wallentin.
Här presenteras ett flertal grundläggande funktioner för
tabellhantering. Exemplet baseras på en enklare orderbeställningsrutin
(se bild nedan), där uppgifter hämtas från ett flertal
underliggande tabeller. Här demonstreras också felhantering för
tabellfunktioner. Exemplet belyser också nyttan av att använda
namn för cellområden!

"Artikelnummer" ligger till grund för att erhålla övriga
uppgifter. Artikelns namn och "prisuppgift/st" finns i följande
tabell:

För att få fram namnet på artikeln används här
LETARAD-funktionen enligt följande:
- =OM(Artikel_nummer="";"";LETARAD(Artikel_nummer;Varuregister;2))
Värdet 2 representerar här att XL ska leta i den andra kolumnen
i tabellen. OM-satsen används för att eliminera #SAKNAS-meddelande
när cellen för "Artikelnummer" är tom i ordertabellen.
För att erhålla "prisupgift/st" används samma funktion:
- =OM(Artikel_nummer="";"";LETARAD(Artikel_nummer;
Varuregister;3;SANT))
Ett ytterligare argument har nu tillkommit - SANT - Innebörden
är att tabellen måste vara sorterad stigande eller fallande.
Formeln för "Bruttopris" är en produkt av
"Kvantitet" och "Pris/st enligt följande:
- =OM(Artikel_nummer="";"";Kvantitet*Pris___st)
För att erhålla uppgift om artikeln finns i lager eller ej används
funktionen INDEX i kombination med PASSA enligt följande:
- =OM(Artikel_nummer="";"";INDEX(Lager;PASSA
(Artikel_nummer;Artikelnr;0);1))
En ytterligare uppgift som erhålls är antal dagar innan
artikeln åter finns i lager. Här används LETAUPP-funktionen
enligt nedan:
- =OM(Artikel_nummer="";"";LETAUPP(Artikel_nummer;Varuregister))
Nu när all grunddata är framtagen ska vi nu sammanställa det så
att priset för ordern räknas fram m h t till fraktkostnad och
eventuella rabatter samt mervärdesskatt. Sammanställningen ser ut
enligt följande:

"Orderbruttopriset" är en enkel summering.
Fraktkostnaden hämtas från en annan underliggande tabell (se
nedan) och m h a följande formel:
- =LETAUPP(Orderbruttopris;Frakttabell)

Noterbart här är att tariffen har intervallen, 0 - 2999, 3000 -
5999, 6000 - 8999, samt 9000 och därutöver. Om tabellen har fler
rader än kolumner söker funktionen i den första kolumnen och hämtar
resultatet alltid från den sista kolumnen i tabellen. Nästa steg
är att få fram om ordern uppnår vissa summor för att erhålla
rabatt. Bilden nedan visar den underliggande tabellen och här
demonstreras LETAKOLUMN-funktionen:

- =LETAKOLUMN(SUMMA(Order_bruttopris:Frakt);
Rabattregister;2;SANT)*Order_bruttopris
Orderns totala summa (inklusive frakt) ligger till grund för
eventuell rabatt. Formeln hämtar rabattsatsen och multiplicera det
med orderns bruttopris. Intervallen i tabellen är 0 - 999, 1000 -
2999, 3000 - 4999, 5000 - 6999 och 7000 och därutöver. För att
erhålla mervärdeskatten sker följande beräkning:
- =SUMMA(Order_bruttopris:Frakt;-Rabatt)*25%
Slutligen sker en sammanställning av orderns summa m h a SUMMA-
funktionen:
- =SUMMA(Order_bruttopris:Frakt;Rabatt;Moms)
- Klart!
De underliggande tabellerna kan med fördel läggas i en annan
arbetsbok, dvs de behöver inte vara i samma arbetsbok som letar upp
värdena. Ej heller behöver arbetsboken med tabellerna ligga i
samma mapp - Se exemplet nedan.
- =OM(Artikel_nummer="";"";LETAUPP(Artikel_nummer;'C:\Mina
dokument\XL-produktion\Listor.xls'!Varuregister))
Felhantering i tabellfunktioner kan ibland vara önskvärd, inte
minst när fel- meddelanden dyker upp.
Den mest rättframma lösningen är att använda sig av ÄRFEL-funktionen,
såsom i följande formel:
- =OM(ÄRFEL(LETARAD(Artikel_nummer;Varuregister;2);"";
LETARAD(Artikel_nummer;Varuregister;2))
|