RAND

    Math & Trig

    Returns a random number between 0 and 1 (recalculates on each change).

    Translations
    EnglishRAND
    FrenchALEA
    SpanishALEATORIO
    GermanZUFALLSZAHL
    ItalianCASUALE
    PortugueseALEATÓRIO
    DutchASELECT
    PolishLOS
    RussianСЛЧИС
    TurkishRASTGELE
    CzechNÁHČÍSLO
    HungarianVÉL
    SwedishSLUMP
    DanishSLUMP
    FinnishSATUNNAISLUKU
    Syntax
    RAND()
    Examples
    =RAND()
    0.547...

    Random decimal 0-1

    =RAND()*100
    Random 0-100

    Scale to desired range

    =IF(RAND()>0.5,"Heads","Tails")
    Coin flip

    Random selection

    Tips & Best Practices
    • Recalculates every time sheet changes
    • Copy and Paste Values to freeze
    • Use RANDBETWEEN for integers
    Common Mistakes
    • Forgetting that RAND recalculates every time the worksheet recalculates, so a value used for something like generating a random sample changes on every edit, which is often not what's wanted
    • Trying to pass arguments to RAND - it accepts none at all, and RANDBETWEEN is the function needed for a random number within a specific range
    • Not converting RAND's output to a static value (via copy and Paste Special > Values) before relying on it for something that must stay fixed, like a fixed random assignment or ranking
    Related Functions
    RANDBETWEENGenerates a random whole number within a specified range, rather than RAND's decimal between 0 and 1.
    RANDARRAYGenerates an entire spilled array of random numbers at once, a modern alternative to filling a range with individual RAND formulas.
    ROUNDOften paired with RAND to convert its decimal output into a rounded value within a usable range.
    Frequently Asked Questions

    Why does my RAND value keep changing?

    RAND recalculates every time anything on the worksheet changes, by design. To freeze a value, copy the cell and use Paste Special > Values to convert it to a static number.

    Can RAND generate a number within a specific range, like 1 to 100?

    Not directly - RAND only returns a decimal between 0 and 1. Use RANDBETWEEN(1,100) instead for a random integer in a specific range.

    Does RAND take any arguments?

    No, RAND() is always called with empty parentheses and no arguments - passing anything inside raises an error.

    Need to translate a formula using RAND?

    Use our translator to convert your complete formula