Written and maintained by CASRAI Editorial Board
Last updated
The binomial distribution in Excel is handled by three functions: BINOM.DIST returns the probability of exactly k successes (or at most k), BINOM.DIST.RANGE returns the probability of a run of success counts, and BINOM.INV returns the smallest success count whose cumulative probability reaches a criterion. This guide shows which one answers which question wording, with a worked table, an error-diagnosis table taken from Microsoft’s documentation, and the steps to build a full distribution column.
What it is used for in research
A binomial model applies when you count successes in a fixed number of independent trials, each with the same success probability: participants who respond to a treatment, samples that pass a quality check, survey answers that are “yes”. In Excel the same calculation is useful for checking a hand calculation, for the exact probability behind a binomial test, and for tabulating a distribution before plotting it. For the definition of n and p, see binomial distribution parameters; for the conditions a design must meet, see binomial experiment.
Install or access (official source only)
No add-in is needed. Microsoft’s function pages list BINOM.DIST, BINOM.INV and BINOM.DIST.RANGE as available in Excel for Microsoft 365, Excel 2024, Excel 2021, Excel 2019 and Excel 2016. Type the function name in any cell after an equals sign.
Step-by-step: which formula answers which question
All three functions take the number of trials and the success probability on each trial. Use cells for the inputs so the formulas stay readable. The worked example below uses 10 trials with a success probability of 0.5, the same inputs as Microsoft’s own BINOM.DIST example (A2 = 6, A3 = 10, A4 = 0.5), which returns 0.2050781 for exactly 6 successes.
Exactly k successes: BINOM.DIST with FALSE
- Put the number of successes in
A2, the number of trials inA3and the success probability inA4. - In another cell type
=BINOM.DIST(A2,A3,A4,FALSE)and press Enter. - Read the result: with 6, 10 and 0.5 it is 0.2050781, the probability of exactly 6 successes.
At most k successes: BINOM.DIST with TRUE
- Use the same inputs.
- Type
=BINOM.DIST(A2,A3,A4,TRUE). With TRUE the function returns the cumulative distribution function, the probability of at most 6 successes. With these inputs it is 0.828125 (computed by summing the exact probabilities for 0 to 6).
Matching the question wording to the formula
| Question wording | Formula (trials 10, p 0.5) | Result |
|---|---|---|
| Exactly 6 | =BINOM.DIST(6,10,0.5,FALSE) |
0.2050781 (Microsoft’s example value) |
| At most 6 | =BINOM.DIST(6,10,0.5,TRUE) |
0.828125 |
| Fewer than 6 | =BINOM.DIST(5,10,0.5,TRUE) |
0.623047 |
| At least 6 | =1-BINOM.DIST(5,10,0.5,TRUE) |
0.376953 |
| More than 6 | =1-BINOM.DIST(6,10,0.5,TRUE) |
0.171875 |
| Between 4 and 6 inclusive | =BINOM.DIST.RANGE(10,0.5,4,6) |
0.65625 |
The “fewer than” and “at least” rows follow from the definition: the cumulative form includes the value you pass, so “fewer than 6” is the cumulative probability at 5, and “at least 6” is one minus that. Values other than the first row are computed by summing exact probabilities and are rounded here.
A run of success counts: BINOM.DIST.RANGE
The syntax is BINOM.DIST.RANGE(trials,probability_s,number_s,[number_s2]). With only number_s it returns the probability of exactly that many successes; with number_s2 it returns the probability that the count falls between number_s and number_s2. Microsoft’s examples: =BINOM.DIST.RANGE(60,0.75,48) returns 0.084, and =BINOM.DIST.RANGE(60,0.75,45,50) returns 0.524. Note the argument order differs from BINOM.DIST: trials and probability come first.
A critical count: BINOM.INV
The syntax is BINOM.INV(trials,probability_s,alpha). It returns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value. Microsoft’s example, =BINOM.INV(6,0.5,0.75), returns 4. The median of a binomial variable is one use; see median of the binomial distribution.
Building the whole distribution
- In
A5type 0, and fill down to the number of trials (0 to 10 for 10 trials). - Put the trials in
B1and the success probability inB2. - In
B5type=BINOM.DIST(A5,$B$1,$B$2,FALSE)and fill down: this is the probability mass column. - In
C5type=BINOM.DIST(A5,$B$1,$B$2,TRUE)and fill down: this is the cumulative column, ending at 1.
The mass column can be charted as a column chart; see binomial probability distribution graph for how to read the shape. For other Excel probability tasks, see how to calculate probability in Excel.
Output and how to read it
Every result is a probability between 0 and 1. A FALSE result is a point probability; a TRUE result is a running total up to and including the success count, so the cumulative value at the last possible count is 1. For 10 trials at 0.5 the point probabilities peak at 5 successes (0.2460938) and are symmetric, so the values for 4 and 6 are equal (0.2050781). BINOM.INV does not return a probability but a count of successes.
Troubleshooting
These error conditions come from the remarks on Microsoft’s three function pages. The valid ranges differ between functions, which is a common source of unexpected #NUM!.
| Function | Symptom | Documented cause |
|---|---|---|
| BINOM.DIST | #VALUE! |
number_s, trials or probability_s is nonnumeric |
| BINOM.DIST | #NUM! |
number_s is below 0 or above trials; probability_s is below 0 or above 1 |
| BINOM.DIST | Unexpected whole-number behaviour | number_s and trials are truncated to integers |
| BINOM.INV | #VALUE! |
Any argument is nonnumeric |
| BINOM.INV | #NUM! |
trials is below 0; probability_s is 0 or less, or 1 or more; alpha is 0 or less, or 1 or more |
| BINOM.DIST.RANGE | #NUM! |
An argument is outside its allowed range, such as number_s2 below number_s or above trials |
| BINOM.DIST.RANGE | #VALUE! |
An argument is nonnumeric |
Note that BINOM.DIST accepts a probability of exactly 0 or 1, while BINOM.INV rejects both, and BINOM.INV also rejects an alpha of 0 or 1.
Free alternatives
The same three calculations exist in free statistical software. The function names below come from the R and SciPy reference documentation.
| Tool | Exactly k | At most k | Inverse |
|---|---|---|---|
| R (stats package) | dbinom(x, size, prob) |
pbinom(q, size, prob) |
qbinom(p, size, prob) |
| Python (SciPy) | scipy.stats.binom.pmf(k, n, p) |
scipy.stats.binom.cdf(k, n, p) |
scipy.stats.binom.ppf(q, n, p) |
Both libraries also offer an upper-tail option: R’s pbinom has a lower.tail argument and SciPy has a survival function, sf, so “more than k” needs no subtraction. A web-based walk-through is in the binomial probability calculator guide.
FAQ
How do I calculate a binomial distribution in Excel?
Use =BINOM.DIST(number_s,trials,probability_s,cumulative). Set the last argument to FALSE for the probability of exactly that many successes, or TRUE for the probability of at most that many.
Which function gives the probability of a range of successes?
BINOM.DIST.RANGE. Give the optional fourth argument to get the probability that the number of successes lies between number_s and number_s2.
How do I get “at least k” or “more than k” with the binomial distribution on Excel?
Subtract a cumulative result from 1: “at least k” is =1-BINOM.DIST(k-1,trials,p,TRUE) and “more than k” is =1-BINOM.DIST(k,trials,p,TRUE).
Why does BINOM.INV return #NUM! when BINOM.DIST works?
BINOM.INV rejects a probability or alpha of exactly 0 or 1, which BINOM.DIST’s probability argument accepts. See the troubleshooting table.
Sources (official docs)
- Microsoft Support, BINOM.DIST function, checked 2026-10-29.
- Microsoft Support, BINOM.INV function, checked 2026-10-29.
- Microsoft Support, BINOM.DIST.RANGE function, checked 2026-10-29.
- R Documentation, The Binomial Distribution, checked 2026-10-29.
- SciPy documentation, scipy.stats.binom, checked 2026-10-29.








