Office pools

The office pool spreadsheet, and what replaces it

The spreadsheet is not badly built. It is the wrong shape for the job, and it fails in the same four places every season. Here is where, and what to do about it.

By Ioan Djambov · Built Office World Cup, played by 250+ companies in summer 2026 · Updated 6 September 2026

Every office pool starts the same way. Somebody makes a sheet, shares the link, and it works beautifully for about three weeks. By Week 6 the tab is called Copy of NFL pool FINAL v3, two people are arguing about a pick that was definitely submitted before kickoff, and the person who built it has started leaving the standings until Tuesday. This is not a spreadsheet-skill problem. A spreadsheet is a record of decisions, and a pool needs something that enforces them.

Why the spreadsheet always breaks

  • It has one owner.The file lives in one person's drive and only they know which formula does what. When they are on leave in Week 11, the pool is on leave too.
  • Everybody can see everybody. Anyone with edit access reads the whole grid, so a late picker has more information than an early one. Nobody in your office would abuse it, and everyone knows they could.
  • Nothing stops a late edit. A cell changed after kickoff looks exactly like a cell filled in on Thursday. Version history proves it, and nobody is going to audit version history to settle an argument about a trophy.
  • It rots quietly. A dragged formula misses the bottom row, a new column shifts a range, somebody sorts by points and unpins the names from their picks.
  • It is unpleasant on a phone. The colleague who wants to pick from a train at 8am is the colleague you lose first.

The four jobs it cannot do

1. Locking

A pick has to become uneditable at a specific moment, and that moment is different for every game. Thursday night locks on Thursday. The late Sunday game locks nine hours after the early ones. A file has no concept of kickoff, so the lock is a person remembering to protect a range, which means the lock is trust.

2. Scoring

A formula can compare a pick to a result. It cannot go and find the result. Twelve to sixteen final scores have to be typed in every week, eighteen times a season, and until they are the pool is simply out of date.

3. Chasing

The largest cost of running a pool is not scoring, it is nagging. Working out who has not picked, messaging them individually, remembering who is on holiday, doing it again tomorrow. A spreadsheet shows you a blank cell. It will not do anything about one.

This is the job worth handing over, and the numbers say why. Three hours before picks locked in our World Cup pools, we messaged exactly the 320 players who still had no pick, nobody else, and 317 of them came back inside a minute. A channel-wide reminder would have interrupted everyone and moved almost none of them. Knowing who has not acted is a query. A sheet can answer it. Only a system can act on it.

4. Recapping

The pool exists socially when results land where people already are, and a link to a file is not a recap. The message that gets replies has a fact in it. In one World Cup semi-final, 243 of 1,380 players had called the exact 1 to 2 scoreline, and that single line pulled more reaction than the table underneath it.

What to keep from it

The sheet gets things right that a replacement can easily lose. One visible ranked table anybody can read at a glance, with no login. The rules written down in the same place the pool lives. A department column, because Sales against Engineering is a better argument than any individual rivalry. And no barrier to joining: whatever replaces the file has to be at least as easy to join as a link. If your sheet has a payments column, that is the one thing to leave behind rather than migrate.

The chat-native version

The alternative is not a better spreadsheet or another website with a login. It is moving the pool into the place the conversation already happens, so taking part costs nobody a context switch.

Office Rivalsruns the pool inside a Slack or Google Chat channel. You install it, run the competition's command in the channel you want, and everyone in that channel is in. Picks arrive as a private message rather than a link. Each game locks at its own kickoff with nobody remembering to lock it. Results come from the real fixtures, so no one types in a score. The recap and the new standings are posted back to the channel on a weekday morning, and the channel stays quiet at the weekend.

Acme Labs
#nfl-pool · Monday 09:01
Office RivalsAPP09:01

🏈 Week 1 digest. Eighteen of you called Seattle. Two of you backed Cleveland in Survivor, and both are already out. Sales provisionally lead the office table.

Patriots 20–24 Seahawks

Called it: 18 of 24 +1

Survivor · Week 1

22 alive. Two out on the Browns.

Full tableMy picks
The Monday morning post that replaces the file link: what happened, how many people called it, and who is still alive, in the channel people already have open.

Two honest limits. It plays the competitions it covers, which is the Premier League, the Champions League, the NFL and Formula 1, so a spreadsheet is still the answer for the office chili cook-off. And it runs specific formats: NFL Pick'em and Survivor, plus a scored predictor for the football and F1 seasons. No confidence pools, no Super Bowl squares. If your office is attached to a format nobody automates, keep the sheet for that one and let the season-long pool live in the channel. There is no money in it either way, and the full pricing is a single payment for the season rather than a subscription.

Template if you still want one

Some pools genuinely should stay in a sheet: a one-off, a format nobody supports, six people who all sit together. This is the minimal layout that survives longest. Nothing to download, because the layout is the useful part and it takes five minutes to build.

A minimal four-tab layout for an office pool spreadsheet
TabWhat goes in itWhy it matters
RulesTen lines of plain text: lock time, missed picks, ties, tiebreaker, late joiners, prize.The tab you link to during every argument. Write it before Week 1 and never edit it mid-season.
FixturesOne row per game: week, kickoff date and time, home team, away team, final result.Everything references this tab. Enter the kickoff time even though nothing enforces it, so a dispute has a fact to point at.
PicksOne row per player per week, one column per game, plus a locked timestamp column.One row per player per week beats one tab per player. Sorting stays sane and a new joiner is one row, not a new sheet.
StandingsName, department, weekly totals, season total, ranked on total then most recent week.The only tab most people ever look at. Freeze the top row and never sort the Picks tab to build it.

Three habits decide whether it lasts a season or gets rebuilt in October. Give a second person edit access on day one. Never sort the picks grid, because sorting is how names and picks come apart. And screenshot the standings into the channel every week rather than reposting the link, because a picture in the conversation gets seen and a link does not. If that already sounds like a chore you will not keep up, read how to run an NFL office pool before committing to a season of it.

Or let the bot run it.

Office Rivals runs the whole pool inside your Slack channel: private pick cards, automatic scoring and a recap on the first working morning after the round. Free for your first 5 players, no card and no trial clock.

Questions people ask

Is there a free NFL office pool spreadsheet template?
Plenty, and most are fine. They are all the same shape: a tab of fixtures, a grid of names against games, a formula that counts matches. None of them can give you a lock at kickoff or an audit trail, because those are properties of a system rather than a file.
Can a spreadsheet hide picks until kickoff?
Not properly. Protect ranges, hide columns, give each person a tab: anyone who can edit the file can generally see it, and anyone who can see it can see everyone. The genuinely private version is one sheet per person, which multiplies your admin by the size of the office and still does not stop a late edit.
How do you score an office pool automatically in a spreadsheet?
You cannot, because somebody has to type in the results first. A formula compares a pick to a result and totals a column, but twelve to sixteen final scores a week have to arrive by hand, and the pool is only as current as the last time that person sat down.
What is the best alternative to an office pool spreadsheet?
Something that lives where the office already talks, so nobody opens a file to take part. Office Rivals runs the pool inside a Slack or Google Chat channel: picks arrive as a private message, games lock at their own kickoff, results are scored from the real fixtures, and the standings go back to the channel on a weekday morning.
Do we have to pay to stop using the spreadsheet?
No. It is free for up to 5 players in any competition, with no card and no trial countdown. One payment of $129 covers up to 100 players for the season if the channel takes off.
Can we bring our old spreadsheet history across?
There is no import, and it is worth saying plainly. A new pool starts from the week it starts. Keep the old file as the archive, screenshot the final table into the channel, and treat the switch as a clean line rather than a migration.