RAND Function (LibreOffice Calc)
The RAND function in LibreOffice Calc returns a random decimal number between 0 and 1. It recalculates on every sheet update and is essential for simulations, sampling, testing, and randomized models.
This guide provides syntax, examples, advanced usage patterns, common errors, and best practices, making it one of the most complete RAND references available for LibreOffice Calc.
What the RAND Function Does
- Returns a random decimal between 0 and 1
- Recalculates on every sheet update
- Useful for simulations, sampling, and randomized models
- Can be scaled to any numeric range
- Works with other math functions for advanced stochastic modeling
It is designed to be simple, flexible, and universally compatible.
Syntax
RAND()
Arguments
- None.
RAND is a zero‑argument function.
Basic Examples
Generate a random decimal
=RAND()
Returns a value like 0.374829.
Generate a random number between 0 and 10
=RAND() * 10
Generate a random number between A1 and B1
=A1 + RAND() * (B1 - A1)
Generate a random percentage
=RAND()
Format as percent.
Advanced Examples
Random integer (manual method)
=INT(RAND() * 10)
Returns an integer from 0 to 9.
Random integer between two values
=INT(A1 + RAND() * (B1 - A1 + 1))
Equivalent to RANDBETWEEN(A1; B1).
Random Boolean (TRUE/FALSE)
=RAND() < 0.5
Random selection from a list
=INDEX(A1:A10; INT(RAND() * COUNTA(A1:A10)) + 1)
Randomly shuffle a list (helper column)
=RAND()
Sort by this column.
Monte Carlo simulation (single trial)
=IF(RAND() < 0.3; "Success"; "Fail")
Weighted random selection
=MATCH(RAND(); CUMULATIVE_RANGE)
Where CUMULATIVE_RANGE is a cumulative probability distribution.
Random normal distribution (Box–Muller)
=SQRT(-2 * LN(RAND())) * COS(2 * PI() * RAND())
Generates a normally distributed random value.
Common Errors and Fixes
RAND recalculates unexpectedly
Cause:
- RAND updates on any sheet recalculation
- Sorting, editing, or pressing F9 triggers new values
Fix:
Copy → Paste Special → Values to freeze results.
RAND returns 0 or 1 unexpectedly
Possible causes:
- Formatting hides decimals
- Very small values appear as 0
- Very rare rounding edge cases
RAND appears not to change
Cause:
- Automatic recalculation disabled
- Sheet not recalculating
Fix:
Enable: Tools → Options → LibreOffice Calc → Calculate → AutoCalculate.
Best Practices
- Use RAND for simulations and sampling
- Use RANDBETWEEN for integer ranges
- Freeze results with Paste Special → Values
- Use RAND with INDEX for random selection
- Use RAND with LN, PI, and COS for random distributions
Related Patterns and Alternatives
- Use RANDBETWEEN for random integers
- Use RAND() * (b - a) + a for custom ranges
- Use INDEX + RAND for random selection
- Use SORTBY (Excel) or manual sort with RAND for shuffling
- Use NORMINV (Excel) or Box–Muller for normal distributions
By mastering RAND and its combinations with other math functions, you can build powerful, flexible randomization and simulation models in LibreOffice Calc.