startsida < företaget < organis. < datorer < frågor
 
Kalkylering 2

 
  Frågor och svar
Allmänt
Tabeller
Kalkylering 1
Kalkylering 2
Text och format
Tid och datum
Tekniska problem
   
  Innehåll
expowera

 

Materialet publicerat med tillstånd från Dennis Wallentin.

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)


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))}


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$4

2. Skapa formeln:
=ANTAL.OM(Område:Område;"Ja")


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


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.


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)))}


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))}


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!")


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.


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))
eller
=STÖRSTA(A2:A200;1+ANTAL.OM(A2:A100;">"&D3))


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)))))


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))}


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.


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))}


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;"*")


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.


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)))


F: Hur hittar jag den sista ifyllda raden?

S: Jo, mha följande matrisformel:
{=MAX(OM(ÄRTOM(A1:A100);"";RAD(A1:A100)))}


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))}


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)


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))


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)


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)


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"))


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))


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))}


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


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))


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.


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<>""))


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))


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))


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;""))}


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))))))}


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)))}

Upp
Senast uppdaterad: 2005-10-05 © Dennis Wallentin