KALKYLER
FRÅGOR & SVAR
101 -
Nr 135 F: Hur ska jag i en cell kunna utvärdera och addera ihop följande villkor:
- A1=10 -----> 100
- A1=20 -----> 200
- A1=30 -----> 300
S: Enklast är det med följande formel: =100*((A1=10)+(A1=20)*2+(A1=30)*3)
Nr 134 F: Jag vill räkna antal förekomster av värden. Dessa värden vill jag ange i cell vars innehåller förändras. S: Enklast är att använda: =ANTAL.OM(A1:A100;"="&B1)
eller en matrisformel:
{=ANTAL(SÖK(B1;A$1:A$100))}
Nr 133 F: Hur kan jag göra för att räkna antal förekomster av "Ja" i flera icke-sammanhängande cellområden? S: Följande stegvisa beskrivnig ger en lösning: 1. Skapa ett nytt namn och referera till de aktuella cellområdena:
Namn: Område
Refererar till: =Blad1!$A$1;Blad1!$A$7;Blad1!$C$42. Skapa formeln =ANTAL.OM(Område:Område;"Ja")
Nr 132 F: I en kolumn har jag värden vars längd varierar mellan 4 och 6 tecken. Nu vill jag att alla ska ha samma längd om 6 tecken så att t ex talet 4500 blir 004500. S: Följande formel löser problemet ifråga: =REP(0;6-LÄNGD(A1))&A1
Nr 131 F: I två kolumner (A och B) finns det värden. Nu vill jag räkna antal poster i B-kolumnen som är lika med eller större än sin motsvarande post i A-kolumnen. Jag vill kunna ange skilda procentsatser. S: Enklast är att lösa det med hjälp av en matrisformel: {=SUMMA(1*(B2:B4/A2:A4>=1+C1))}
Där cellen C1 håller procentsatsen.
Nr 130 F: Utifrån fråga 129 - Hur kan jag erhålla adressen för den cell i raden som håller det sista värdet? S: Följande formel ger adressen: {=ADRESS(2;MAX((OM(ÄRTOM(A2:D2);0;1))*KOLUMN(A2:D2)))}
Nr 129 F: Hur kan jag få fram i vilken kolumn (1-4) det sista värdet i raden är inmatad i? S: Jo, följande matrisformel ger dig vägledning: {=MAX((OM(ÄRTOM(A2:D2);0;1))*KOLUMN(A2:D2))}
Nr 128 F: Hur kan jag summera ett cellområde som även innehåller meddelandet #Saknas! S: Det borde kunna ske med följande formel: =SUMMA.OM(A1:A4;"<>#Saknas!")
Nr 127 F: I en kolumn har jag värden jag vill leta upp efter position (=rad). Jag vill kunna ange ett värde i en cell som representerar en position och få fram positionens värde. S: Följande funktion kan ge dig vägledning: =INDIREKT("C"&D1)
Där listan återfinns i C-kolumnen och radnumret i cellen D1.
Nr 126 F: Jag har några listor med slumpmässigt genererade värden. Från dessa listor vill jag få fram:
- Det lägsta värdet som är större än angivet värde i en cell.
- Det största värdet mindre än angivet värde i en cell.
S: Dessa formler kan vara dig behjälplig:
- =MINSTA(A2:A200;1+ANTAL.OM(A2:A100;"<"&D2))
- =STÖRSTA(A2:A200;1+ANTAL.OM(A2:A100;">"&D3))
Nr 125 F: I ett namngivet dynamiskt cellområde vill jag alltid summera sista kolumnens värden. Hur kan det ske utan att använda sig av VBA? S: Följande formel ska lösa problemet ifråga: =PRODUKTSUMMA(N(INDIREKT(ADRESS(RAD(Namn);KOLUMNER(Namn)))))
Nr 124 F: Är det möjligt att erhålla vilket tal som saknas i en sifferserie? Antag att jag har sifferserien 1 - 5 och talet 4 saknas. Det är endast ett tal som saknas i listan. S: Antag att listan finns i cellområdet A1:A5 så kan följande matrisformel ge en lösning:
{=MAX((ANTAL.OM(A1:A5;RAD(1:6)-1)=0)*(RAD(1:6)-1))}
Nr 123 F: Jag har en arbetsbok där användarna får lägga till nya arbetsblad. I ett arbetsblad sker summering av vissa celler för alla arbetsbladen. Problemet är att jag inte kan få XL att automatiskt lägga in den nya arbetsbladens namn i formlerna. S: Enklast är att göra följande:
- Lägg till ett nytt arbetsblad först i arbetsboken och namnge det till Start.
- Lägg till ett nytt arbetsblad sist i arbetsboken och namnge det till Slut.
- Ange följande formel i sammanfattningsbladet:
=SUMMA(Start:Slut!A1)- Dölj båda ovanstående arbetsblad.
Nr 122 F: Jag har en uppslagstabell. När jag anger ett värde i en cell vill jag att XL ska ge antingen det exakta värdet eller det närmaste värdet. S: För att lösa det krävs två matrisformler, där båda ger det exakta värdet om det finns: Följande formel ger det högre närmaste värdet:
{=MAX(OM(ABS(A1:B10-E2)=MIN(ABS(A1:B10-E2));A1:B10))}
Följande formel ger det lägre närmaste värdet:
{=MIN(OM(ABS(A1:B10-E2)=MIN(ABS(A1:B10-E2));A1:B10))}Ett närliggande tips är: Hitta närmaste värdet
Nr 121 F: I en lista, med såväl tal som text, vill jag kunna räkna antal celler som innehåller text. S: Följande formel löser det enklast: =ANTAL.OM(A1:A5;"*")
Nr 120 F: I en kolumn skrivs både text och tal in. Hur ska jag göra för att summera talen och alltid få med de sist inmatade? S: Antag att data matas in i kolumn A: =SUMMA(FÖRSKJUTNING($A$1;;;ANTALV($A:$A)))
Noterbart är att formeln förutsätter att inga tomrader finns
Nr 119 F: Jag behöver räkna antal värden mellan 10 - 15 i en lista. S: Närmast tillhands är följande formel: =PRODUKTSUMMA(ANTAL.OM(A1:A10;RAD(10:15)))
Nr 118 F: Hur hittar jag den sista ifyllda raden? S: Jo, mha följande matrisformel: {=MAX(OM(ÄRTOM(A1:A100);"";RAD(A1:A100)))}
Nr 117 F: Hur gör jag för att summera var 4:e post i en kolumn? S: Enklast är att använda sig av följande matrisformel: {=SUMMA((REST(RAD(A1:A100)+2;4)=0)*(A1:A100))}
Nr 116 F: Jag vill både få fram antal tal samt summering av ett cellmråde där värdena faller inom ">= x" och "<=y", dvs inom ett intervall. S: Du hittar ett sätt att lösa det på i tipset Intervallsummering och vill vi inte användas oss av en matrisformel kan följande formler användas istället: Antal:
=PRODUKTSUMMA((A1:A10>=B1)*(A1:A10<=B2))Summa:
=PRODUKTSUMMA((A1:A10>=B1)*(A1:A10<=B2)*A1:A10)Nr 115 F: Jag vill summera värden i en kolumn men endast om det finns text i den intilliggande kolumnen. S: Pröva följande formel: =PRODUKTSUMMA((B1:B7>0)*(B1:B7)*ÄRTEXT(A1:A7))
En annan möjlig lösning är:
=SUMMA((B1:B7>0)*(B1:B7)*ÄRTEXT(A1:A7))
Nr 114 F: Om cellen A1 saknar värde så ska värdet i cellen B2 vara tomt annars ska värdet 1 anges - Hur gör jag? S: Enklast är följande OM-formel: =OM(ÄRTOM(A1);"";1)
Nr 113 F: Hur gör jag för att få reda på antalet celler som innehåller text i ett område? S: Jo, det finns några möjliga lösningar varav följande är enkel att använda: =PRODUKTSUMMA(ÄRTEXT(A1:A6)*1)
Nr 112 F: Jag vill att XL alltid ska referera till samma cell, t ex B10, oavsett om rader o kolumner infogas / tas bort. S: Det kan faktiskt ske mha av INDIREKT-funktionen: =INDIREKT("B10")
Om vi alltid vill summera cellområdet B1:B10 oavsett vad som sker därefter så kan det lösas på följande sätt:
=SUMMA(INDIREKT("B1:B10"))
Nr 111 F: Jag vill inte använda mig av en matrisformel för att erhålla medelvärdet givet ett villkor: {=MEDEL(OM(B1:B4>=10;A1:A4))}, vill jag ersätta men en "vanlig" formel!
S: Enklast är att använda sig av följande "vanliga" formel: =PRODUKTSUMMA((B1:B4>=10)*(A1:A4))/PRODUKTSUMMA(N(B1:B4>=10))
Nr 110 F: Hur gör jag för att summera värdena i de rader som har jämna radnummer, dvs rad 2, 4 6, osv? S: Enklast är att använda sig av följande matrisformel: Jämna radnummer:
{=SUMMA(OM(REST(RAD(A1:A6);2)=0;A1:A6))}Ojämna radnummer:
{=SUMMA(OM(REST(RAD(A1:A6);2)=1;A1:A6))}Nr 109 F: Är det möjligt att begränsa antal decimaler till t ex 2 st i ett cellområde? S: Ja, det går mha datavalidering och med följande valideringsformel: =LÄNGD(D2)-HELTAL(D2)<=3
Nr 108 F: Jag vill skapa en dynamisk formel. Grundformeln är =SUMMA(A1:A5) och jag vill kunna utöka den med ett värde som anges i B1. Om B1=3 så ska formeln summera cellområdet A1:A8. S: Följande formel skapar dynamiken: =SUMMA(INDIREKT("A1:A"&5+B1))
Nr 107 F: Hur döljer jag meddelandet #Saknas! S: Här kan vi använda oss av villkorsstyrd formatering och följande formel: =ÄRSAKNAD(A1) samt ger texten samma färg som bakgrunden.
Nr 106 F: Behöver erhålla antal ifyllda celler i en kolumn, oavsett om det är text eller värden i cellerna. S: Enklast är följande formel: =PRODUKTSUMMA(N(A2:A37<>""))
Nr 105 F: I en kolumn intill en kolumnlista vill jag visa listvärden avrundade till antingen närmaste 5-tal (25, 35, 45...) eller till närmaste 10-tal (80, 90, 100...). Villkoret för avrundning är om tal >=50 eller ej. S: Det finns några möjliga lösningar för detta men den bästa är: =MAVRUNDA(A2;OM(A2>=50;10;5))
Nr 104 F: Jag vill summera värden och samtidigt avrunda dessa till heltal? S: Hm, denna formel borde ge en lösning: =PRODUKTSUMMA(AVRUNDA(D2:D4;0))
Nr 103 F: I en kolumn sker summering av flera värden som ligger på rader. Ibland förekommer det tomma celler varför felvärden uppstår. Dessa påverkar också mina summeringar i kolumnen. Hur ska formeln se ut för att summera de värden som finns? S: Enklast är att använda formeln: =SUMMA.OM(K1:K100;">0";K1:K100)
Om det förekommer även negativa värden som ska summeras kan följande matrisformel vara mer lämplig:
{=SUMMA(OM(ÄRTAL(K1:K100);K1:K100;""))}
Nr 102 F: I en kolumn har år och i en intilliggande värden för respektive år. NU behöver jag få fram året som har det senaste inmatade värdet - Hur gör jag? S: Det kan lösas antingen med följande formel om inga tomma rader förekommer: =INDEX(A2:A9;ANTAL(B2:B9))
eller om det förekommer tomma rader med matrisformeln:
{=INDEX(A2:A9;MAX(OM(B2:B19<>0;RAD(INDIREKT("1:"&RADER(B2:B9))))))}
Nr 101 F: Jag vill räkna medelvärdet för de två lägsta talen i en serie? S: Om vi antar att serien ligger i cellområdet C11:M11 så löser följande matrisformel problemet: {=MEDEL(MINSTA(C11:M11;RAD(1:2)))}