Returnerer et flyttall som inneholder et tilfeldig tall.
Syntaks
Rnd[(tall)]
Det valgfrie talletargument er en enkel eller en gyldig numerisk uttrykk.
Returner verdier
Hvis tallet er |
Rnd genererer |
Mindre enn null |
Det samme tallet hver gang du bruker tall som så. |
Større enn null |
Det neste tilfeldige tallet i sekvensen. |
Lik null |
Det sist genererte tallet. |
Ikke angitt |
Det neste tilfeldige tallet i sekvensen. |
Merknader
Rnd-funksjonen returnerer en verdi som er mindre enn 1, men større enn eller lik null.
Tallverdien bestemmer hvordanRnd genererer et tilfeldig tall:
For et gitt innledende frø genereres samme nummersekvens fordi hvert etterfølgende kall til Rnd-funksjonen bruker det forrige tallet som et frø for neste nummer i sekvensen.
Før du kaller Rnd, kan du bruke Randomize-setningen uten et argument for å initialisere generatoren med tilfeldig tall med et frø basert på systemtidtakeren.
Hvis du vil produsere tilfeldige heltall i et gitt område, bruker du denne formelen:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Her er øvre grense det høyeste tallet i området, og nedre grense er det laveste tallet i området.
Obs!: Hvis du vil gjenta sekvenser av tilfeldige tall, kaller du Rnd med et negativt argument umiddelbart før du bruker Randomize med et numerisk argument. Hvis du bruker Randomize med samme verdi for tall , gjentas ikke den forrige sekvensen.
Eksempel på spørring
Expression |
Resultater |
SELECT ProductSales.ProductID, Rnd([Discount]) AS RandomNumbers FROM ProductSales; |
Returnerer produkt-IDen sammen med tilfeldige tall i kolonnen RandomNumbers. |
VBA-eksempel
Obs!: I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.
Dette eksemplet bruker Rnd-funksjonen til å generere en tilfeldig heltallsverdi fra 1 til 6.
Dim MyValue
' Generate random value between 1 and 6. MyValue = Int((6 * Rnd) + 1)