Proportional Division Calculator
An amount split between any number of shares in proportion, with the rounding handled so the total still adds up.
Results
What this tool does
Dividing something in a ratio is easy until the numbers stop being round. Three people splitting 1,200 in the ratio 1:2:3 is straightforward; four people splitting 100 in the ratio 7:11:13:19 is not, because the exact shares are not whole numbers and rounding them separately does not add back to 100. This page gives the exact proportional shares, and — if you ask for whole units — allocates the remainders by the largest remainder method, so the column always totals exactly what you started with.
Formula
pᵢ = T × wᵢ ÷ Σw
Variables
| Symbol | Meaning | Unit |
|---|---|---|
total | Amount to split | — |
parts | The shares, separated by commas | — |
whole | Whole units only? | — |
TB | Number · share · weight % · what it gets | — |
GO | Total handed out | — |
PS | The shares added up | — |
NP | How many shares | — |
PU | Per unit of share | — |
EQ | If it were split equally | — |
BG | Largest amount | — |
SM | Smallest amount | — |
Worked example
- Amount to split1200
- The shares, separated by commas1, 2, 3
- Whole units only?no
- Number · share · weight % · what it gets1 1 16.6667 200 2 2 33.3333 400 3 3 50 600
- Total handed out1200.000000
- The shares added up6.000000
- How many shares3
- Per unit of share200.00000000
- If it were split equally400.000000
- Largest amount600.000000
- Smallest amount200.000000
Frequently asked questions
How do the whole-number shares add up exactly?
By rounding every share down first, then handing out the leftover units one at a time to whoever lost the most in that rounding. It is called the largest remainder method, and it is how parliamentary seats are allocated. The alternative — rounding each share independently — routinely gives a total one or two away from what you started with, which is fine for an estimate and unacceptable when you are dividing actual money or actual seats. Ties are broken by position in your list, so the same input always gives the same output.