Cellwise Start free

Excel guide · 5 min read

How to split bills between roommates in Excel

Quick answerLog every bill with who paid it. For each person, =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.

ABCDEFGHIJ
1DateItemPaid byAmountAlexSamJordanPersonShare (enter your own)
2Oct 1, 2026RentAlex1800111Alex0.4
3Oct 3, 2026GroceriesSam142.37111Sam0.3
4Oct 5, 2026InternetJordan65111Jordan0.3
5Oct 9, 2026ElectricitySam88.4111
6Oct 14, 2026StreamingJordan15.99101
7Oct 20, 2026GroceriesAlex96.15111
8Oct 26, 2026Cleaning suppliesJordan23.5111

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.

  1. Put the headers Date, Item, Paid by and Amount in A1:D1.
  2. Add one row per bill as it's paid, not at the end of the month.
  3. 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)).

=SUMIFS($D$2:$D$8,$C$2:$C$8,I2)

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".

=ROUND(SUMIFS($D$2:$D$8,$C$2:$C$8,I2:I4)-SUM($D$2:$D$8)/3,2)

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.

=SUMIFS($D$2:$D$8,$C$2:$C$8,"Jordan")-(SUM($D$2:$D$8)-2*ROUND(SUM($D$2:$D$8)/3,2))

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.

=ROUND(SUMPRODUCT($D$2:$D$8,F$2:F$8/($E$2:$E$8+$F$2:$F$8+$G$2:$G$8)),2)

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

Related guides

Updated