3 sätt att slippa nästla OM (IF)
OM (IF) är en fantastisk användbar funktion i Excel med vilken man kan nästla ihop och skapa flera villkor med. Problemet är att funktionen växer nästan okontrollerad för varje nytt villkor och den blir svår att överblicka och hantera till slut. Men det finns alternativ till att använda OM (IF). Detta gör att en lång och krånglig funktion kan ersättas med en enda funktion. Här följer tre olika exempel på hur man kan förenkla funktionen OM (IF) med andra alternativ.
Alternativ 1
I Excel 2016 kom en ny funktion som heter IFS, denna funktion är en förenkling av OM (IF) och tar endast hänsyn till valet SANT (TRUE). Fördelen med denna funktion är att man kan ha många val men ändå slipper man nästla ihop och man behöver inte hålla reda på parenteser på rätt ställen, det blir bara en funktion.
Nedan har vi ett exempel där man i C-kolumnen ska ange en rabatt beroende på vilken kategori som kunden tillhör. För att automatisera detta så måste någon form om villkor till att identifiera och matcha rätt kategori som sedan resulterar i motsvarande rabatt.
Vi rekommenderar dessa Excelkurser:
www.infocell.se – lärarledda kvalitetskurser i Excel
www.officekurs.se – oslagbar e-kurser i Excel & Office-paketet
Med en OM (IF)-funktion så betyder detta tre villkor och lika många funktioner som måste nästlas samman. I cellen A17 ser vi hur denna funktion skulle se ut. Denna funktion kan man förenkla genom att använda den nya funktionen IFS (endast tillgänglig från och med Excel 2016).
A14 finns exempel på hur man löser denna beräkning med IFS.
Med IFS kan man rada upp flera villkor och det sammanhängande returvärdet för villkoret (upp till 127 villkor kan anges). En stor fördel med IFS jämfört OM (IF) är att det endast är en funktion. Det blir därmed inga tvivel om hur och var funktioner ska nästlas ihop och heller inget trassel med extra parenteser. Det man ska tänka på med IFS är att den endast tar hänsyn till om villkoret är SANT (TRUE), det finns alltså inte någon hantering för FALSKT (FALSE).
Alternativ 2
Nästa alternativ till att ersätta en nästlad OM (IF)-funktion är att använda LETARAD (VLOOKUP) med exakt matchning. Detta kräver att man skapar en uppslagstabell med samtliga kategorier och tillhörande värde. Tabellen måste vara rätt utformad så att sökvärdet (kategori) finns i tabellens första kolumn.
I bilden nedan har vi samma exempel som tidigare men nu finns även en tabell i F:G som fungerar som en uppslagstabell för LETARAD (VLOOKUP).
I cell A14 finns nu funktionen som används från C2 och neråt. Här används LETARAD (VLOOKUP) för att matcha rätt kategori för varje kund mot tabellen i F:G och sedan returnera motsvarande värde. En fördel att använda detta alternativ är att villkoren blir dynamiska och enkla att ändra eller utöka.
Alternativ 3
Det sista alternativet är att använda LETARAD (VLOOKUP) med ungefärlig matchning. Då är det värden/siffror som är det sökvärdet. Återigen måste det finnas en uppslagstabell som används för funktionen. Detta alternativ sparar otroligt mycket konstruerande av en nästlad OM (IF) och ersätts med en enda funktion.
I exemplet nedan finns det resultatvärden i kolumn B som ska matchas med en gradering (A-D) beroende på värdet. Skalan för graderingen görs i en tabell F:G och viktigt är att värdena finns i första kolumnen här och att de är sorterade i stigande ordning.
I cell A17 finns nu en LETARAD (VLOOKUP)-funktion som letar upp resultatvärdet och returnerar motsvarande gradering. Enkel förklarat är att värdet måste nå upp till motsvarande nivå för att få motsvarande gradering (exempelvis 85 för att få B) annars blir det graderingen från raden nedanför. Detta gäller alltså uppslagstabellen.
Att konstruera motsvarande med en OM (IF)-funktion skulle innebära en mängd villkor. Man måste kontrollera resultatvärdet för varje intervall större än och mindre än.
Sammanfattningsvis kan man konstatera att ibland går beräkningar att lösa på ett enklare sätt genom att använda andra funktioner. Dock måste förutsättningarna stämma överens och man får inte glömma att OM (IF)-funktionen är en väldigt användbar funktion som kanske i många fall också är den smartaste lösningen.