Excel guide · 5 min read
How to split bills between roommates in Excel
=SUMIFS(Amount,PaidBy,name) is what they paid, and the total divided by the number of people (or times their share) is their fair share. Paid minus fair share is the balance: positive means they get money back, negative means they owe.Sample data
Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.
| A | B | C | D | E | F | G | H | I | J | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Date | Item | Paid by | Amount | Alex | Sam | Jordan | Person | Share (enter your own) | |
| 2 | Oct 1, 2026 | Rent | Alex | 1800 | 1 | 1 | 1 | Alex | 0.4 | |
| 3 | Oct 3, 2026 | Groceries | Sam | 142.37 | 1 | 1 | 1 | Sam | 0.3 | |
| 4 | Oct 5, 2026 | Internet | Jordan | 65 | 1 | 1 | 1 | Jordan | 0.3 | |
| 5 | Oct 9, 2026 | Electricity | Sam | 88.4 | 1 | 1 | 1 | |||
| 6 | Oct 14, 2026 | Streaming | Jordan | 15.99 | 1 | 0 | 1 | |||
| 7 | Oct 20, 2026 | Groceries | Alex | 96.15 | 1 | 1 | 1 | |||
| 8 | Oct 26, 2026 | Cleaning supplies | Jordan | 23.5 | 1 | 1 | 1 |
Download this sheet as an Excel practice file (.xlsx)
Set up one shared log
Three roommates, one month of bills. Alex paid the rent, Sam did the big grocery run and the electricity, Jordan covered internet and a few small things. Nobody wants to argue about it in the group chat, so everything goes in one table: date, item, who paid and the amount.
Keep one row per payment and type names exactly the same way every time. SUMIFS ignores capitals, so "alex" still counts as Alex, but "Sam " with a trailing space doesn't match Sam and quietly returns 0. A drop-down list of names (Data > Data Validation > List) stops that. Ctrl+T turns the log into a table so new rows are included in every formula.
Columns E to G are for bills not everyone shares (the last section). Leave them as 1 for now.
- Put the headers Date, Item, Paid by and Amount in A1:D1.
- Add one row per bill as it's paid, not at the end of the month.
- In I2:I4 list the people. Next you'll add Paid, Fair share and Balance columns for them.
What each person paid
SUMIFS adds the amounts where the Paid by column matches the person. Alex paid 1896.15, Sam 230.77 and Jordan 104.49, for a month total of 2231.41.
Lock the log ranges with $ so the formula fills down the person list. If you track several months, add a date condition: =SUMIFS($D$2:$D$8,$C$2:$C$8,I2,$A$2:$A$8,">="&DATE(2026,10,1),$A$2:$A$8,"<="&DATE(2026,10,31)).
Result: 1896.15
1896.15: everything Alex paid this month.
Equal split: who owes whom
With an equal split, everyone's fair share is the total divided by 3: 743.80. The balance is paid minus fair share. In Excel 365 you can do all three people in one formula by giving SUMIFS the whole name list.
Alex gets back 1152.35. Sam owes 513.03 and Jordan owes 639.31. Settling up is then simple: when only one person is owed, everyone else pays that person what they owe. So Sam sends Alex 513.03 and Jordan sends Alex 639.31. With three people, at most two payments ever settle the month.
To print it as sentences: =I2:I4&IF(n<0," pays "&TEXT(-n,"0.00")," gets back "&TEXT(n,"0.00")) inside a LET that names the balances n gives "Alex gets back 1152.35", "Sam pays 513.03" and "Jordan pays 639.31".
Result: spills 3 rows × 1 column
| 1152.35 |
| -513.03 |
| -639.31 |
1152.35, -513.03, -639.31: Alex is owed, Sam and Jordan owe.
Make the cents add up
Look closely at those rounded balances: 1152.35 - 513.03 - 639.31 is 0.01, not 0. The month total of 2231.41 doesn't divide evenly by 3. Each share is really 743.8033..., and 743.80 times 3 is 2231.40, a cent short.
The fix is to round the shares and let one person take the leftover cent. Give the first two people =ROUND(total/3,2) and the last person the total minus the other shares. Jordan's fair share becomes 743.81, his balance -639.32, and the balances add up to exactly 0. Rotate who takes the odd cent each month if anyone cares.
The same thing happens with percentage splits: 30% of 2231.41 is 669.42 after rounding, and 892.56 + 669.42 + 669.42 is 2231.40. Use the same "last person gets the remainder" rule.
Result: -639.32
-639.32: Jordan's balance when his share absorbs the leftover cent.
Unequal splits: shares and bills only some people use
If Alex has the bigger room and you've agreed on 40/30/30, put those shares in J2:J4 and multiply: fair share = total * share. The shares are input cells you agree on together, and =SUM(J2:J4) should be exactly 100%. With 40/30/30 the balances are 1003.59, -438.65 and -564.93.
Some bills aren't for everyone. Sam doesn't use the streaming service, so his cell in F6 is 0. Each person's fair share is then each bill divided by the number of people sharing it: SUMPRODUCT does that across all rows. Alex and Jordan each pay 746.47 and Sam 738.47, which adds up to 2231.41 exactly. The balances become 1149.68, -507.70 and -641.98.
Want this ready-made for your own household? Paste your log into Cellwise Fix (cellwise.app/excel-formula-helper/) and ask for "balance per person"; it writes the formula for your columns and checks it on your data.
Result: 738.47
738.47: Sam's fair share, leaving out the streaming bill he doesn't use.
Common mistakes
Names typed differently
"Sam " with a space returns 0 in SUMIFS. Use a drop-down list of names, or clean the column with TRIM.
Rounded balances that don't add to zero
Round the shares, then give the last person total minus the others so every cent is covered.
Percentage shares that don't total 100%
Check =SUM(J2:J4) next to the shares. 40%, 30% and 25% leaves 5% of every bill unpaid.
Dividing by people when someone opts out of a bill
Total/3 charges Sam for streaming he doesn't use. Mark who shares each bill with 1 and 0 and divide each bill by the count of 1s.
FAQ
How do I split rent by room size in Excel?
Agree on a share per person (for example by room area), put each share in a cell, and multiply the rent by it. Make sure the shares add up to 100%, and round with the last person taking the remainder.
How do I track shared expenses over several months?
Keep one running log with a date on every row and add a date condition to SUMIFS, or add a Month column with =TEXT(A2,"yyyy-mm") and summarize with a PivotTable. Record each settle-up payment as its own row so balances carry over correctly.
How do I record a payment from one roommate to another?
With the share columns, add a row like "Settle up", paid by Sam, 513.03, with Alex as 1 and the others as 0. Sam's paid total goes up and Alex's fair share goes up by the same amount, so both balances move toward 0. Or keep a separate Payments table and adjust each balance by it.
Can Excel tell me who should pay whom with four or more people?
The balances still tell you: everyone with a negative balance pays, everyone positive receives. A simple way to settle is for the person who owes the most to pay the person owed the most, as much as either needs, and repeat until all balances are 0.
Functions used
SUMIFSAdds with several conditionsSUMAdds numbersROUNDRounds to digitsSUMPRODUCTMultiply then addLETNames values inside a formulaIFPicks a result from a testTEXTNumber to formatted textDATEBuilds a dateTRIMRemoves extra spaces
Related guides
- Formulas for a monthly budget in Excel
- How to sum by category in Excel
- SUMIF with multiple criteria in Excel (SUMIFS)
- ROUND vs ROUNDUP vs ROUNDDOWN in Excel
- How to sum time in Excel
- How to calculate percentage of subtotal in Excel
- How to calculate sales tax in Excel
Updated