Slumpa med Excel

Med kalkylbladsfunktionerna SLUMP och SLUMP.MELLAN kan du skapa slumptal och till exempel göra slumpmässiga urval eller slumpa värden för simuleringar.



Om du skall göra ett slumpmässigt urval är det enklaste att lägga till en kolumn i din lista som du vill göra urvalet från. I den kolumnen lägger du sedan in funktionen =SLUMP() för varje post. Därefter behöver du bara sortera din lista med SLUMP-kolumnen som sorteringsnyckel. Din lista kommer därefter vara sorterad i slumpmässig ordning och om du till exempel väljer de tio första i den listan så kan du säga att dessa valts ut slumpmässigt.

Här en kort 2 minutersfilm om hur man kan göra ett slumpmässigt urval genom att lägga till SLUMP:

SLUMP genererar ett slumptal i form av ett decimaltal från 0 till 1. Ibland kan detta kännas otympligt, till exempel om du vill använda detta slumptal i en formel. Ett alternativ är du funktionen SLUMP.MELLAN. Med SLUMP.MELLAN generar du slumpmässiga heltal mellan intervall du själv anger. = SLUMP.MELLAN(1;100) ger dig till exempel ett slumpmässigt heltal mellan 1 och 100.

Jag använder själv SLUMP.MELLAN ofta när jag skapar övningsdatabaser eller när jag skall simulera och vill ha en lista med värden inom vissa intervall.

I följande film tar jag ett steg längre och visar jag hur man kan använda både SLUMP och SLUMP.MELLAN för att göra ett slumpmässigt urval och en lista med slumptal inom givna intervall.

/Anders

PS! Dagens boktips:
En bok jag kan rekommendera just nu är Jelen, Excel 2016 In Depth (QUE Förlag) . En heltäckande bok skriven av en av mina excelgurus, Bill ”MrExcel” Jelen (kolla MrExcels kanal på YouTube!). Är du nybörjare med Excel och vill ha en bok på svenska som ger dig grunderna kan jag rekommendera Excel 2016 Grunder (Eva Ansell) som också har skrivit Excel 2016 Fördjupning, en bok som jag själv brukar använda på mina Excelkurser.
.



(Visited 22 074 times, 7 visits today)

8 comments

  • Tack! Så bra förklarat. Jag kommer använda SLUMP.MELLAN för lottdragning i en förening jag är med i.

  • Super! Tack Anders!

  • Tack för denna förklaring om slumpmässigt urval i Excel . Det var precis jag letade efter. Mycket bra film!

  • hej Anders! jag håller på att göra en monte carlo simulering genom att slumpa fram värden i excel med intervallen men på alla resultat siffran blir 1 vad gör jag för fel?
    formel är detta:
    I = Cs*Rig*fh*kpl
    där:
    Cs =[0,1;0,5]
    Rig =[0,001;0,01]
    fh =[0,05; 0,5]
    kpl = [0,005;0,05]

    när jag slumpar varje intervall , t, ex : slump.mellan [0,1; 0,5] då får jag som resultat 1 , på alla slumpar och får också samma resultat dvs 1 på alla andra parametrar jag tror jag gör något fel men vet ej inte vad, skulle du kunna hjälpa mig?
    Mvh/ tina

    • Oj, Tyvärr är detta överkurs för mig. Har aldrig gjort något liknande (även om jag sett metoden i läroböcker – men inte testat det i Excel). Testa att fråga på Eforum, där finns många skarpa hjärnor som brukar svara snabbt:
      http://eforum.idg.se/forum/62-kalkylprogram-excel-m-fl/

      Alternativt om någon annan ser detta får ni gärna svara.
      mvh Anders

    • Slump.mellan returnerar bara heltal. Om du väljer intervallet 0,5 till 1 så kan den bara returnera 1. Alltså blir det alltid 1. Du kan göra så här om du vill ha en mindre upplösning. Ta t ex slump.mellan (o;100)/100 då får du ett tal mellan 0 och 1 som har stegintervalle en hundradel.

  • Precis vad jag sökte efter. Fin fin film du gjort.
    En fråga; jag försöker hitta på ett sätt så att den slumpar ett nytt nummer på en viss intervall eller slumpmäsig intervall mellan 2 tider jag själv väljer. Typ som Bingo-nummer-dragning. Rullande nummer. Gör inget om samma nummer dras flera gånger. Vet du om de går med slump i excel?

    • Om jag förstår det rätt vill du slumpa mellan två tider…
      Vill du slumpa mellan två tidsintervall, t.ex. mellan 06:00 och 18:00 kan man också använda SLUMP.MELLAN (RANDBETWEEN). Det enda man måste korrigera är att SLUMP.MELLAN enbart slumpar heltal mellan intervall och att tider i Excel är formaterade decimaltal. Du kan ju se min post om att räkna med tid i Excel för mer om detta.

      http://andersexcel.se/rakna-med-tid-excel/

      Om du skriver in 08:00 i cell A1 och 17:00 i cell A2 och sedan använder funktionen =SLUMP.MELLAN(A1;A2) så kommer du få svaret 0 (eller 00:00:00 beroende på hur du formaterar).
      Anledningen till detta är att du då slumpar mellan två decimaltal som är mindre än 1.

      06:00 är till exempel tidsseriekoden 0,25 och 18:00 är 0,75.

      Tricket här blir att göra om tiden till ett heltal (t.ex. genom att multiplicera det med tusen) och sedan dividera resultatet med tusen (och formatera det till ett klockslag).
      =SLUMP.MELLAN($A$1*1000;$A$2*1000)/1000

      Om du inte vill ha en cellreferens till min- och maxtid kan man lägga in det i funktionen. Då behöver du veta vad tidseriekoden är för dina klockslag. Enklast att göra det är att skriva in tiderna i en cell (med formatet tt:mm) och sedan formatera det till en vanligt tal med fem decimaler (eller fler beroende på vilken precision du vill ha – fem decimaler brukar räcka för att få exakt sekund). 17:00 är tillexempel talet 0,70833 och 8:00 är 0,33333.

      En formel som slumpar mellan 8:00 och 17:00 kan därför se ut så här:
      =SLUMP.MELLAN(33333;70833)/100000
      (formtera sedan till tid – högerklicka Formatera celler, välj talkategori Tid och det format du önskar)

      Här har jag multiplicerat och delat med 100.000 för att få mer exakt precision.
      Hoppas det var det du frågade efter.
      /mvh Anders

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.