Array Formula to Split Group Expenses in Google Sheets

Published on

Splitting group expenses in Google Sheets is easy. You can use my ready-to-go template or the custom array formula powered by the SPLIT_EXPENSE named function.

If every expense is shared equally among all members, you might not even need a spreadsheet.

For example, if four people go on a trip and split every cost equally, the math is straightforward. But in real-life situations, not everyone benefits from every expense. That’s when my template or formula becomes really helpful.

The good news? My solution works in both cases—whether all expenses are shared among everyone or only among the actual beneficiaries.

To use the split group expenses template, simply enter the expense details in the “Expense” tab: who paid, how much, and who the beneficiaries are. The array formula in the “Split” tab will automatically calculate who owes what and to whom.

You can fill it out as expenses happen—quick and easy. It only takes a few minutes, and your updated summary is always ready.

Input

User input section showing expense details and beneficiary selections in Google Sheets

Output

Calculated results showing how to split group expenses in Google Sheets using a template

Usage Notes

1. Enter the beneficiary names in row 3 (D3:3) on the “Expense” tab.

Header row for specifying beneficiaries in the expense splitting template

2. Log the expense details in:

  • A4:A – Expense name
  • B4:B – Who paid
  • C4:C – Amount paid
Expense entry section showing columns for description, payer, and amount in Google Sheets

3. Mark the beneficiaries using “Yes” or “No” dropdowns under each name.

Drop-down menus for selecting beneficiaries for each group expense in Google Sheets

The final split group expenses breakdown will be calculated automatically in the “Split” tab.

Important: Every name listed in row 3 (beneficiaries in D3:3) should also appear at least once in column B (payer list), even if they didn’t pay anything. For example, if Person 5 is a beneficiary but didn’t pay for anything, just add their name in column B on a blank row. You can leave the corresponding A and C cells empty. See the range A11:C11 in my template for an example.

View & Download Template

How to Use the Array Formula to Split Group Expenses in Google Sheets

One of the coolest parts of this template is the array formula in cell D2 on the “Split” tab:

=SPLIT_EXPENSE(
     Expenses!B4:B,
     Expenses!C4:C,
     FILTER(Expenses!D4:R, Expenses!D3:3<>""),
     FILTER(Expenses!D3:3, Expenses!D3:3<>"")
)

This formula generates the full split table automatically—no need to drag formulas down or across.

The SPLIT_EXPENSE function is a custom named function designed specifically to split group expenses in Google Sheets.

Syntax

SPLIT_EXPENSE(paid_by, amt_paid, split, split_h)

Arguments

  • paid_by: A vertical array of names representing who paid. It can include duplicates.
  • amt_paid: Corresponding amounts. Must be the same length as paid_by.
  • split: A 2D array of “Yes”/”No” dropdowns indicating beneficiaries. Should have the same number of rows as paid_by and as many columns as there are unique names in the group.
  • split_h: A one-row header listing those unique names. Should match the column count of split.

Using SPLIT_EXPENSE with a Closed Range

You can also test this function using a fixed-size range. It’s a great way to understand how it works before using it in dynamic or infinite ranges.

Example:

Formula example demonstrating the use of the SPLIT_EXPENSE function to split group expenses in Google Sheets
=SPLIT_EXPENSE(B4:B8, C4:C8, D4:F8, D3:F3)

Breakdown:

  • paid_by: B4:B8
  • amt_paid: C4:C8
  • split: D4:F8
  • split_h: D3:F3

In this example, the final calculation shows that B and C need to pay A a total of 5250. B owes 1250, and C owes 4000.

As before, every name listed in the header row (D3:F3) must also appear in the payer column (B4:B8), even if they didn’t contribute directly.

Conclusion

How can you get the SPLIT_EXPENSE named function to split group expenses in Google Sheets? And does it cost anything?

It’s completely free! Just make a copy of my template to get started. If you’d like to use the SPLIT_EXPENSE function in another file, you’ll need to import it. I’ve explained how to do that in my Named Functions Guide.

This setup is one of the easiest ways to split group expenses in Google Sheets—accurate, transparent, and shareable with your group.

Prashanth KV
Prashanth KV
Your Trusted Google Sheets and Excel Expert Prashanth KV is a Diamond Product Expert in Google Sheets, officially recognized by Google for his contributions to the Docs Editors Help Community and featured in the Google Product Experts Directory. Explore his blog to learn advanced formulas, automation tips, and problem-solving techniques to elevate your spreadsheet skills.

Calculate Trip Days by Month (Start, End, and Full Days) in Google Sheets

If you're managing business travel in Google Sheets, you may need to calculate how...

Mode of Comma-Separated Numbers in Excel (Dynamic Array)

There is no dedicated function in Excel to directly find the mode of comma-separated...

How to Find Mode of Comma-Separated Numbers in Google Sheets

Working with comma-separated numbers inside a single cell is a common scenario in Google...

How to Count Merged Cells in Google Sheets (and Get Their Size)

Sometimes, you may have blocks of merged cells in a column or row. But...

More like this

Calculate Trip Days by Month (Start, End, and Full Days) in Google Sheets

If you're managing business travel in Google Sheets, you may need to calculate how...

How to Find Mode of Comma-Separated Numbers in Google Sheets

Working with comma-separated numbers inside a single cell is a common scenario in Google...

How to Count Merged Cells in Google Sheets (and Get Their Size)

Sometimes, you may have blocks of merged cells in a column or row. But...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.