Rent splitting doesn't need a dedicated app. Google Sheets or Excel can hold the whole setup: one rent charge per row, the equal share calculated in its own column, a note of who paid, and a link to the receipt.

The simple tab below suits roommates who divide every charge the same way. When a bigger bedroom, an income difference, or some other agreed rule changes the amounts, use the custom-share tab instead. One thing the sheet won't do: move money or confirm that a reimbursement actually happened.

Keep the total, the share, and the payment record in separate columns. Later checks get much easier that way.

The simple equal-split rent log

Every rent charge gets one row. That layout is easy to audit because the total appears once, while the calculated share sits in its own column where nobody can nudge it by hand.

Column Enter or calculate Example
A: Charge ID A short reference for the charge R-01
B: Date Due date or payment date 2026-01-01
C: Description What the charge covers January rent
D: Total rent The full amount for that row $1,800
E: Participants Number of people sharing that charge 3
F: Share per person =IFERROR(D2/E2,"No participants") $600
G: Paid by The person who covered the charge Alex
H: Receipt URL Paste the shared file link A Drive file link
I: Receipt =IF(H2="","",HYPERLINK(H2,"View receipt")) View receipt
J: Charge status Pending or Paid Paid
K: Reimbursement status Open or Settled Open
L: Notes Late fee, adjustment, or context Equal split

With $1,800 in D and three participants in E, F2 returns $600. If E2 is blank or zero, the IFERROR formula shows No participants instead of a division error.

The first month usually feels clumsy. One roommate types the amount, someone else pastes a receipt, and a third edits a formula nobody asked them to touch, and it all feels messier than it should. That's normal. Set the columns once, then let the monthly routine get boring.

Build the workbook in a sensible order

  1. Create a tab named Charges, add the headers above in row 1, and freeze the top row. One row per charge, never one row per roommate.

  2. Add a sample row before real data goes in. Try the $1,800 example, set Participants to 3, and confirm the share reads $600.

  3. Enter the formulas in F2 and I2, then copy them down far enough for the rent entries you expect. Reference the amount cell; never type the rent straight into a formula.

  4. Format D and F as currency and B as a date. Building the custom tab below? Format its Share % column as a percentage too.

  5. Keep the receipt URL and the clickable label apart. H stores the address, I displays the readable link, and replacing a broken file later stays simple.

  6. If your group changes often, list names on a small Setup tab. That list can supply the Paid by dropdown and cut down on spelling drift.

Use a second tab for uneven rent shares

An equal-split formula has no way to know that one roommate owes 40% and another owes 30%. Put those agreed percentages on a separate Shares tab instead of overloading the main rent log.

One row per person, per charge.

Column Enter or calculate Example
A: Charge ID Match the ID on Charges R-01
B: Person One roommate per row Alex
C: Share % An agreed percentage 40%
D: Amount owed =IF(A2="","",IFERROR(VLOOKUP(A2,Charges!$A:$D,4,FALSE)*C2,"Check charge ID")) $720
E: Share check =IF(A2="","",IF(ABS(SUMIF($A:$A,A2,$C:$C)-1)<0.0001,"OK","Check shares")) OK

Say the charge is $1,800. The Shares tab might hold Alex at 40% plus two roommates at 30% each, which works out to $720, $540, and $540. The total stays on Charges only, so you can't accidentally count the same rent three times.

Turns out the share check is the part worth the setup. It flags a missing percentage before anyone requests a reimbursement.

For equal shares on this second tab, enter =IF(A2="","",IFERROR(1/COUNTIF($A:$A,A2),0)) in C2 and fill it down. That formula only works when every included roommate has a row for the same Charge ID.

One more trap here: enter 40% or 0.40, never 40. A percentage stored as 40 would multiply the rent by forty.

Calculate who should reimburse whom

A rent log shows the charge. A balance view shows where each person actually stands.

Create a Balances tab with names in column A. When every listed roommate shares every row on Charges, these three formulas cover it:

  • Amount owed in B2: =SUM(Charges!$F$2:$F$100)
  • Amount paid in C2: =SUMIF(Charges!$G$2:$G$100,A2,Charges!$D$2:$D$100)
  • Net in D2: =C2-B2

A positive net means that person paid more than their assigned share. Negative means they still owe money, either to the group or to whoever covered the charge.

On the custom Shares setup, calculate Amount owed with =SUMIF(Shares!$B:$B,A2,Shares!$D:$D). The Amount paid and Net formulas can stay the same, as long as one person paid each full charge.

These formulas assume a single payer per charge. If two people paid parts of the same rent, add a separate Payments tab with Charge ID, date, payer, and amount paid. Don't cram two names into one Paid by cell.

Keep receipts clickable and access-controlled

The HYPERLINK function creates a clickable label. It gives nobody permission to open the file behind it.

Thing is, a receipt can sit right there in the sheet and still be useless if no one can open it. Store the file in a shared location, paste its link into H, and test the link with the access level your roommates will actually have.

For Google Drive, review the Google Drive sharing instructions before sending the sheet or receipt folder. Choose access deliberately. A restricted file may require specific people to sign in, while link-based access can let anyone holding the link open it.

A dedicated receipt folder keeps unrelated personal files out of the sharing flow. If a receipt contains private account or address details, use the narrowest access setting that works for the group.

Add validation and protect formulas

Dropdowns earn their small setup cost. Without them, Alex, alex, and Alexander become three different people in every summary.

Field Suggested rule Purpose
Participants List values such as 1, 2, 3, and 4 Prevents text or accidental counts
Paid by A list from the Setup tab Keeps names consistent
Charge status Pending and Paid Shows whether the rent charge was covered
Reimbursement status Open and Settled Tracks the follow-up separately
Share % A numeric value from 0 to 1 Stops entries such as 40 instead of 0.40

In Google Sheets, select the target range, open Data validation, and create the dropdown or numeric rule. Excel users can follow Microsoft's data validation guidance for list restrictions and invalid-entry alerts.

Apply each rule to the full working range, such as E2:E100, not only the first few rows. Then protect the formula columns, F and I, so editors can update charges without replacing calculations.

Share editor access with the people who maintain the log. Anyone who just needs to look gets viewer access. In Excel, apply the same principle through the service that stores the shared workbook.

Review the sheet at each monthly close

To be honest, the review takes minutes when rows are entered as each charge happens.

  • [ ] Add the date, Charge ID, description, and total.
  • [ ] Select the participant count or complete the custom Shares rows.
  • [ ] Record the payer and paste the receipt URL.
  • [ ] Check the share formula, or confirm the custom share check says OK.
  • [ ] Compare the Balances tab before requesting reimbursements.
  • [ ] Mark the charge and reimbursement statuses separately.

Don't mark a reimbursement as settled just because the rent itself was paid. Those are two different events.

Common mistakes to catch early

Zero participants: If the share cell says No participants, pick a valid count before treating the row as ready.

A percentage entered as a whole number: 40% and 0.40 mean the same thing. 40 does not.

A duplicated total on the custom tab: The total belongs on Charges, with person-level amounts calculated from it. Copy it elsewhere and a summary can overstate the rent.

A deleted formula: Protect the calculated columns, and keep an untouched sample row near the top or on a separate template tab.

A receipt that opens for one person but not another: Check the file's sharing settings, not just the formula. The link label can look correct while access stays restricted.

A confusing status: Charge status tracks the rent bill. Reimbursement status tracks the money the group still needs to settle. Keep them apart.

Pick the smallest setup that fits

The Charges tab alone is enough when the same roommates split every rent charge equally and one person normally pays the full amount.

Add Shares once room size, an ensuite, income, or another documented group rule changes each person's percentage. The rule should be agreed before the rent gets marked settled.

Payments earns its place when more than one person contributes to the same charge. That keeps payment records separate from what each person owes.

Start with the Charges tab and a sample $1,800 row. Confirm that F2 shows $600, open the receipt with the access your roommates will have, and then replace the sample with your first real rent entry.