Contents
1System Overview
The SBC Swiss Tournament System is a Google Sheets-based application that automates the pairing, scoring and ranking of Swiss-format backgammon tournaments. It is operated entirely through a custom menu and requires no programming knowledge.
How It Works
A master Template spreadsheet contains all formatting and scripts. Each month, a new tournament sheet is created from this template. The director enters player names, runs each round through the menu, enters scores, and the system handles all pairing, ranking and tiebreaker calculations automatically.
Swiss Format Explained
In a Swiss tournament, players are never eliminated — everyone plays every round. After each round, players are re-ranked by wins and paired with opponents of similar standing. The final winner has the most wins; point differential is the tiebreaker.
Key Features
| Feature | Description |
|---|---|
| Swiss Pairing | Players paired by ranking after each round, with rematch avoidance across all previous rounds. |
| Up to 32 Players | Supports between 2 and 32 players per tournament. |
| Bye Handling | Odd player counts handled automatically — lowest-ranked player without a bye is assigned one each round. |
| No Rematches | Pairing avoids rematches across all previous rounds, including Round 4. In the rare case where a rematch is mathematically unavoidable, that single pairing is flagged red. |
| Live Website | Standings can be published to the SBC website in real time. |
| PDF Export | Final results saved as a PDF to Google Drive. |
| Status Bar | Blue/gold bar on the sheet always shows the next required step. |
The Sheet Layout
- Round 1 — Draw/Rank, Players D, Scores F, +/- G
- Round 2 — R2 Ranking I, Scores K, +/- L
- Round 3 — R3 Ranking N, Scores P, +/- Q
- Round 4 — R4 Ranking S, Scores U, +/- V
- Winners — Final Ranking W, Wins X, T/Diff Y
2First-Time Permissions Setup
The first time any user runs a script function from a tournament sheet on their Google account, Google displays a permissions authorisation screen. This is a standard security feature and is completely normal.
What the Popup Looks Like
You will see a screen titled “Swiss Tournament Scripts wants access to your Google Account” with three checkboxes:
- See, edit, create and delete all of your Google Drive files
- See, edit, create and delete all your Google Sheets spreadsheets
- Connect to an external service
How to Authorise
- Tick the Select all checkbox at the top to tick all three boxes.
- Scroll down and click Continue.
- Google may show a second confirmation screen — click Allow.
- You will be returned to the sheet and the function will run normally.
What if Google Shows an “Unverified App” Warning?
On some accounts, Google may show an additional screen saying “Google hasn’t verified this app” before the permissions screen. This is normal for club-developed scripts that have not been submitted to Google for formal review.
- Click Advanced (bottom left of the warning screen).
- Click “Go to Swiss Tournament Scripts (unsafe)”.
- Continue with the normal authorisation steps above.
3Managing the Members Sheet
The Members sheet is a separate Google Spreadsheet containing all current financial members — the source for player dropdowns in every tournament sheet. Player names are in Column A from row 2. No blank rows between names — a blank row stops the list being read, causing members to be missing from dropdowns.
| Task | Steps |
|---|---|
| Add a member | Open Members sheet → type name at the bottom of Column A → Save (Ctrl+S). |
| Remove a member | Right-click their row number → Delete row (do NOT just clear the cell — leaves a blank row). |
| Refresh dropdowns | After any Members change, open the tournament sheet and run 🔄 Refresh Player Dropdowns. |
Day Before Tournament Checklist
- Members sheet up to date — new members added, lapsed members removed.
- New tournament sheet created from template (Section 4) and header is correct.
- Player dropdowns working — click Column D and confirm dropdown appears.
- Google permissions authorised on the device being used (Section 2).
- Draw tokens prepared (numbered pieces for the bag draw).
4Creating a New Tournament
All tournaments are created from the master Template. Never run a tournament directly in the template — always create a new sheet first. You will need: the month (e.g. june), number of rounds in words (e.g. four), and points per game (e.g. 7).
- Open the SBC Swiss Tournament Template from Google Drive.
- Click 🏆 Swiss Tournament menu → 🆕 Create New Tournament.
- If prompted, complete the Google permissions authorisation (see Section 2).
- Enter tournament details in the format: month, rounds, points — e.g. june, four, 7.
- Click OK and wait approximately 10 seconds.
- Open Google Drive — find the new sheet (e.g. June 26′ Tournament) in the same folder as the template.
5Tournament Day Workflow
The status bar (blue/gold bar near the top of the sheet) always shows the next required step. If unsure, click ▶ What’s Next? at the top of the Swiss Tournament menu.
Step 1 — Enter Players and Draw Numbers
- Run 👀 Unhide Columns to reveal Column B (draw numbers).
- In Column D, use the dropdown in each row to select each player’s name.
- In Column B, enter each player’s draw number (assigned by drawing from a bag on the day).
- If there is an odd number of players, enter Bye as the last player in Column D (no draw number needed).
- Run 🙈 Hide Columns to restore the standard view.
Steps 2–6 — Round 1
- Click 1️⃣ Round 1 — sorts players by draw number and pairs 1st vs 2nd, 3rd vs 4th, etc. A border line separates each pair.
- Enter each player’s score in Column F. Do not enter scores in greyed-out cells (bye rows are handled automatically).
- Click 📊 Calculate R1 +/- — calculates point differentials in Column G.
- Click 🏅 Calculate R1 Wins — records wins and differentials in Columns W/X/Y.
- Click 📊 Sort Players for R2 — sorts by wins then differential.
Full Round Sequence — Rounds 2, 3 and 4
| Step | Menu Item | What It Does |
|---|---|---|
| 1 | 2️⃣ Round 2 | Generates R2 pairings, avoiding any rematch from Round 1. |
| 2 | — | Enter scores in Column K. |
| 3 | 📊 Calculate R2 +/- | Calculates differentials in Column L. |
| 4 | 🏅 Calculate R2 Wins | Updates cumulative wins/differentials in W/X/Y. |
| 5 | 📊 Sort Players for R3 | Sorts by wins then diff, updates ranking header. |
| 6 | 3️⃣ Round 3 | Generates R3 pairings, avoiding rematches from Rounds 1–2. |
| 7 | — | Enter scores in Column P. |
| 8 | 📊 Calculate R3 +/- | Calculates differentials in Column Q. |
| 9 | 🏅 Calculate R3 Wins | Updates cumulative wins/differentials in W/X/Y. |
| 10 | 📊 Sort Players for R4 | Sorts by wins then diff, updates ranking header. |
| 11 | 4️⃣ Round 4 | Generates R4 pairings, avoiding rematches across Rounds 1–3 (see Section 6). |
| 12 | — | Enter scores in Column U. |
| 13 | 📊 Calculate R4 +/- | Calculates differentials in Column V. |
| 14 | 🏅 Calculate R4 Wins | Updates cumulative wins/differentials in W/X/Y. |
| 15 | 🏆 Sort Winners | Final sort — removes Bye, updates header to Winners. |
Rematch Avoidance
When Round 2, 3 or 4 is run, the system automatically pairs players to avoid any rematch from earlier rounds. No player is ever paired with someone they have already played, unless the field makes it mathematically unavoidable — in which case that single pairing is highlighted red and noted in the completion message. A clean draw shows no highlighting. If a red-flagged rematch appears and you want to choose which players take the repeat, use Manual Sort (Section 7) before running the round.
6Round 4 & the Championship Match
Round 4 is generated the same way as Rounds 2 and 3 — the system finds the pairing that avoids every prior rematch across all three earlier rounds. There is no separate “manual” or “auto” variant and no forced championship lock: no two players ever play twice.
When the top two players are both undefeated going into Round 4, they have provably never met (an undefeated player cannot have lost, so two 3–0 players cannot have played each other). They are therefore paired together for the title automatically — the championship final emerges on its own, with no special handling.
In the rare case where pairing the top two would force a rematch elsewhere in the field that no other arrangement avoids, the leader is instead paired with the next-ranked fresh opponent, and any genuinely unavoidable rematch is flagged red. This keeps the guiding rule intact: every game, including the final, is a first meeting wherever the field allows it.
7Manual Sort — Overriding Pairings
If the automatically generated pairings are not suitable — for example, to choose which players take a red-flagged unavoidable rematch — Manual Sort allows the director to override the ranking order before running a round.
- Click ✏️ Manual Sort → select the appropriate round (R2, R3 or R4).
- A dialog box appears with all players listed in current ranking order.
- Drag and drop player names to set your preferred order. Players are paired top-to-bottom: rows 1+2, 3+4, etc. Pair labels (1a/1b, 2a/2b) update as you drag.
- Click OK to apply the new order, then run the appropriate Round function.
8Understanding the Bye
When there is an odd number of players, enter “Bye” as the last player in Column D. The system handles everything automatically.
- The lowest-ranked player who has not yet had a bye is assigned one each round.
- The bye recipient automatically receives the target score (e.g. 7) — no manual entry needed.
- The bye recipient automatically receives 1 win and 0 point differential.
- The bye recipient’s +/- cell and the Bye row’s score and +/- cells are greyed out and protected.
- No player receives the bye more than once across the tournament.
- Bye does not appear in the final Winners rankings.
9Publishing Results
Sort Winners
Click 🏆 Sort Winners after Calculate R4 Wins. Produces final rankings sorted by wins then differential. Bye is automatically excluded.
Send to Website
- Click 🌐 Send to Website.
- Standings sent to sydneybackgammonclub.org.au/live/ immediately.
- Can be sent after any round for live updates between rounds.
Save as PDF
- Click 📄 Save as PDF.
- PDF saved to the same Google Drive folder, named automatically e.g. June 26′ Tournament Results.pdf.
Clear Website
To remove standings from the website between tournaments, click 🗑️ Clear Website.
10Troubleshooting
| Problem | Solution |
|---|---|
| Don’t know what to do next | Click ▶ What’s Next? or read the status bar at the top of the sheet. |
| Player missing from dropdown | Check Members sheet for the name and any blank rows. Run 🔄 Refresh Player Dropdowns. |
| Two players paired who already played | If not flagged red, the draw is clean. If a red-flagged rematch is unavoidable and you want a different pairing, use ✏️ Manual Sort to drag players into a valid order before re-running the round. |
| Ran the wrong function | For Round 4: use 🗑️ Clear Round 4. For earlier rounds: File → Version history → See version history to restore. |
| Sheet looks wrong after two devices | Avoid having the sheet open on more than one device simultaneously. Use version history to restore if needed. |
| Google permissions popup appeared again | Normal for a new sheet or account. Follow the authorisation steps in Section 2. |
| Columns look wrong | Run 🙈 Hide Columns to restore standard view, or 👀 Unhide Columns to show all columns. |
| Score entered incorrectly | Simply retype the correct score in the cell, then re-run the Calculate +/- and Calculate Wins functions for that round. |
| Player name has a typo in Column D | Click the cell and select the correct name from the dropdown. Re-run the Round function to regenerate pairings if the round has already been run. |
| Send to Website not working | Check internet connection. Ensure Sort Winners or a sort function has been run so Column W has data. Try again. |
| PDF save fails | Ensure you have sufficient Google Drive storage. Check the script has Drive permissions (re-authorise if needed). |
