Blog/

How to Make a Tournament Bracket in Google Sheets [2026]

Tournamyx Team · Tournamyx Digital

Tournament Guides

A tournament bracket in Google Sheets is two columns per round and one formula.

The formula is the whole trick:

=IF(COUNT(C2:C3)<2,"",IF(C2>C3,B2,B3))

Put that in the round-two name cell and the winner of the match above appears the moment both scores are entered. Copy it across every round and the bracket fills itself.

A 16-team bracket is 15 matches over 4 rounds, and it fits in a grid 9 columns wide: a name and a score column for each round, plus the champion.

Sheets beats Excel at exactly one thing that matters at a live tournament. Several people can enter scores at the same time, and one formula gives spectators a read-only copy that updates itself.

It also breaks in three specific places, and I will show you all three rather than pretend otherwise.

Key Takeaways

  • A bracket needs two columns per round. A 16-team draw is 4 rounds, 15 matches and 9 columns.
  • One IF formula advances every winner: =IF(COUNT(C2:C3)<2,"",IF(C2>C3,B2,B3)). COUNT, not ISBLANK, so empty cells stay empty instead of declaring a winner.
  • SORT is the Sheets advantage over Excel. A standings range wrapped in SORT re-ranks itself on every result, with no button to press.
  • IMPORTRANGE into a second file is how you share results without handing out edit access. Expect a cache lag of a minute or two, not instant.
  • Sheets cannot place byes, cannot re-pair a Swiss round, and merged-cell brackets are close to unusable on a phone — which is where scores actually get entered.

How Do You Lay Out a Bracket in Google Sheets?

Work in column pairs. One column for names, the next for scores.

For a 16-team draw: B and C hold round one, E and F hold round two, H and I the semi-finals, K and L the final. Column N holds the champion.

Sixteen names go down column B, in seeded order, two rows apart. Leave a blank row between each pair so the round-two cell can sit centred between the two matches feeding it.

That vertical spacing doubles every round. Round one is every 2 rows, round two every 4, the semi-finals every 8, the final every 16.

If the geometry is fighting you, the row spacing is why. It is the one part people get wrong by eye.

A 16-team draw is the size worth starting with, because 16 is a power of two and the bracket fills exactly. The 16 team bracket page has the match and round counts for that size if you want to check your grid against them.

Any field that is not a power of two needs byes, and that is where the spreadsheet stops helping. More on that below.

What Formula Advances the Winner?

Put this in the round-two name cell that sits between your first two matches:

=IF(COUNT(C2:C3)<2,"",IF(C2>C3,B2,B3))

COUNT is doing the important work. It counts numeric cells, so the formula stays blank until both scores exist.

Use ISBLANK or a bare IF and an unplayed match declares a winner immediately, because an empty cell compares as zero and zero is not greater than zero.

That single mistake is why most spreadsheet brackets show a champion before anyone has played.

The version above has one real flaw: a draw returns the lower team silently. Knockouts should not have draws, but they do, so make it explicit:

=IFS(COUNT(C2:C3)<2,"",C2>C3,B2,C3>C2,B3,TRUE,"TIE")

Now a tie shows the word TIE instead of quietly advancing the wrong side. You will find out at the desk rather than in the final.

Copy that formula into every later round, adjusting the cell references to the pair above it. The bracket now runs itself for the rest of the day.

How Do You Build a Live Standings Table?

Brackets do not need standings. Group stages and round robins do, and this is where Sheets earns its place.

Keep results in a flat table rather than in the bracket. Four columns: home team, home score, away score, away team, in A to D.

Then with your team names in column G, from row 2:

Played: =COUNTIF($A$2:$A$200,$G2)+COUNTIF($D$2:$D$200,$G2)

Won: =SUMPRODUCT(($A$2:$A$200=$G2)\*($B$2:$B$200>$C$2:$C$200))+SUMPRODUCT(($D$2:$D$200=$G2)\*($C$2:$C$200>$B$2:$B$200))

Difference: =SUMIF($A$2:$A$200,$G2,$B$2:$B$200)+SUMIF($D$2:$D$200,$G2,$C$2:$C$200)-SUMIF($A$2:$A$200,$G2,$C$2:$C$200)-SUMIF($D$2:$D$200,$G2,$B$2:$B$200)

One honest warning about the Won formula. If one score is entered and the other is still blank, the blank reads as zero and you get a phantom win.

Guard it by adding \*($C$2:$C$200<>"") to each half. I have watched a group table lie for twenty minutes because of exactly this.

Now the part Excel cannot match without a newer subscription. Wrap the finished range in SORT:

=SORT(G2:J9,2,FALSE,4,FALSE)

That ranks by wins descending, then difference descending, and it re-ranks on every single result. Nobody presses anything.

If you want the ordering to follow a published tie-break hierarchy rather than a guess, QUERY and ARRAYFORMULA will take it further than most organizers need.

How Do You Share It Without Letting Everyone Edit?

This is the genuine reason to choose Sheets over Excel for a tournament.

Never share the working file. Make a second, empty spreadsheet and pull the standings into it:

=IMPORTRANGE("<url-of-your-working-sheet>","Standings!A1:E10")

Share that second file as view-only. Players and parents see live results; nobody can touch a formula.

IMPORTRANGE needs to be authorised once, from a cell, the first time it runs. Do that the night before, not at 9am.

Expect a lag. IMPORTRANGE is cached and refreshes on its own schedule, so the mirror trails the real sheet by a minute or two.

For a group table nobody minds. For a knockout where players are waiting to hear their court, a minute is long enough for someone to ask you instead.

Free tool · no signup

Bracket generator

Enter your teams, get a seeded bracket with byes already placed. No spreadsheet, no account.

Where Does a Google Sheets Bracket Break?

Three places, all predictable.

Byes

A spreadsheet cannot work out how many byes you need or who should get them. You place them by hand, and the convention is that they go to the top seeds.

Twenty entries in a 32-draw is 12 byes, which means round one is only 4 matches and most of the field enters in round two. Get the placement wrong and two seeds meet in the quarter-finals.

Tournament brackets with byes covers where they belong, and how to seed a bracket covers the ordering that keeps the top two apart until the final.

Anything that re-pairs

Swiss pairs each round from the current standings, so the fixtures for round three do not exist until round two is scored.

No spreadsheet formula can do that, because the pairing rules involve avoiding rematches and balancing colours or sides. Swiss system tournaments explains what the pairing actually has to satisfy.

Phones

Scores get entered courtside, on a phone, by whoever is nearest. A merged-cell bracket in the Sheets mobile app is close to unusable.

This is the failure that decides it for most organizers. The spreadsheet works perfectly on the laptop it was built on, and falls apart in the hall.

Version history will tell you who changed which cell after the fact. It will not stop them.

Frequently Asked Questions

Is there a tournament bracket template in Google Sheets?

Google's own template gallery does not include one, so every template you find is third-party and most hard-code a single field size.

Building it yourself takes about twenty minutes and you understand every cell, which matters when something has to change mid-event.

Start with a 16-team grid: 4 rounds, 15 matches, name and score columns per round.

How do I make a bracket update automatically in Google Sheets?

Put =IF(COUNT(C2:C3)<2,"",IF(C2>C3,B2,B3)) in each round-two name cell and copy it forward through every round.

The COUNT check keeps the cell blank until both scores are in, so the bracket only advances real results.

Can Google Sheets handle a tournament with byes?

Only if you place the byes yourself. There is no formula that computes bye count and assigns them to the correct seed lines.

Byes are draw size minus entries: 20 entries in a 32-draw is 12 byes, and they belong on the top seeds in order.

Is Google Sheets or Excel better for a tournament bracket?

Sheets, for a live event. Multiple people can enter scores at once, SORT re-ranks standings with no manual step, and IMPORTRANGE gives spectators a read-only mirror.

Excel is better if your event is offline or the file has to leave the building. Tournament brackets in Excel covers that side, including building a round robin schedule in a spreadsheet.

How do I share a Google Sheets bracket with players?

Do not share the working file. Create a second spreadsheet, pull the results in with IMPORTRANGE, and share that one view-only.

The mirror lags by a minute or two because IMPORTRANGE is cached, so treat it as a results board rather than a live scoreboard.

When should I stop using a spreadsheet?

When the draw is not a power of two, when the format re-pairs each round, or when scores have to be entered from phones in a hall.

Those three between them cover most real events past about sixteen entries.

Tournament Brackets in Google Sheets: Recap

  • Two columns per round, row spacing doubling each round. A 16-team draw is 4 rounds, 15 matches, 9 columns.
  • =IF(COUNT(C2:C3)<2,"",IF(C2>C3,B2,B3)) advances winners. Use IFS to surface ties instead of hiding them.
  • Keep results in a flat four-column table, compute standings with SUMPRODUCT and SUMIF, and wrap the result in SORT so it re-ranks itself.
  • Guard the win formula against half-entered scores, or a blank cell will read as zero and invent a result.
  • Share a separate IMPORTRANGE mirror view-only. Never hand out the working file.
  • Byes, Swiss re-pairing and phone entry are the three walls. All three arrive at the same event.

If your field is not a power of two, the spreadsheet stops being the quick option.

Tournamyx takes an entry list, places the byes on the top seeds, and advances winners as results are saved.

Scores go in from any phone, the bracket and standings update everywhere at once, and spectators open one public link with no account and no cached mirror.

It is free for events up to 8 participants, with no limit on how many you run.

Build a bracket and compare it against the grid you were about to draw.

Run your next tournament on Tournamyx.

Automatic schedules, live standings, one shareable link. Free for small events.