How to make a sign-up sheet in Google Sheets
A Google Sheets sign-up sheet works best with one row per spot: the slot in column A, an empty Name cell next to it, and a small table that counts spots left with COUNTIF. Lock every column except Name, Email and Notes, gray out taken rows with conditional formatting, and share it with "Anyone with the link" as Editor. The menus and formulas below are current as of October 2026.
The layout
One tab, two blocks. On the left, the list people fill in, with one row for every spot. On the right, a summary that counts. Here is a potluck for about 25 people.
The list (columns A to D). Select the table below, copy it, and paste it into cell A1 of a new sheet. Each row lands in its own cells.
| Slot | Name | Notes | |
|---|---|---|---|
| Main dish | |||
| Main dish | |||
| Main dish | |||
| Side dish | |||
| Side dish | |||
| Side dish | |||
| Salad | |||
| Salad | |||
| Dessert | |||
| Dessert | |||
| Dessert | |||
| Drinks | |||
| Drinks |
The summary (columns F to I). In F1 to I1, type Slot, Spots, Left and Status. In F2 to F6, type each slot name once: Main dish, Side dish, Salad, Dessert, Drinks. They must match column A exactly, though capitals don't matter.
Writing one row per spot does the most important job for you. Three dessert rows means three desserts, and a fourth person has nowhere to type, which a dropdown layout can't promise.
The formulas
Type these into row 2, then select G2 to I2 and drag the small blue square down to row 6.
In G2, count the spots for that slot (the rows you wrote):
=COUNTIF($A$2:$A$100, F2)
In H2, subtract the rows that already have a name to get the spots left:
=G2-COUNTIFS($A$2:$A$100, F2, $B$2:$B$100, "<>")
In I2, a word people can read at a glance:
=IF(H2=0, "Full", H2&" left")
And for a total, type "Total left" in F8 and this in H8:
=SUM(H2:H6)
Some notes from testing these:
- The ranges run to row 100, so you can add rows to the list later without touching the formulas. Insert new rows above row 100.
"<>"means "not empty". A cell with only a space in it counts as taken, so a stray tap on the space bar makes a spot look full.- COUNTIF treats
?and*as wildcards. Keep them out of slot names, because a slot called "Anything else?" can match other slot names too. - With one row per spot, G is just a count of what you wrote. If you'd rather type the limits by hand, put them in G and the H formula still works.
Gray out taken rows and full slots
Two conditional formatting rules make the sheet read like a paper one. Taken lines fade and open lines stand out.
Taken rows. Select A2:D100, then click Format > Conditional formatting. Under Format cells if, choose Custom formula is and enter:
=$B2<>""
Pick a light gray fill and gray text, then click Done. The $ before B keeps every cell in the row looking at its own Name cell.
Full slots in the summary. Select F2:I6, add a new rule with Custom formula is, and enter:
=AND($F2<>"", $H2=0)
Choose a strikethrough and gray text. The AND matters: Google Sheets treats an empty cell as equal to 0, so without it, empty rows in the range would be marked full too. Conditional formatting formulas can only look at the tab they're on, which is why everything lives on one tab.
Lock everything except the name cells
- Click Data > Protect sheets and ranges. A panel opens on the right.
- Click Add a sheet or range, then Sheet, and pick your sign-up tab.
- Check Except certain cells and enter
B2:D100, the Name, Email and Notes columns. - Click Set permissions, choose Restrict who can edit this range, then Only you. Click Done.
Now people can type their name, email and notes, but can't rename a slot, delete the formulas or change the summary. Google's own help says this isn't a security feature. Anyone can still clear another person's name in column B, and editors can copy or download the whole file. To see what's locked, click View > Show > Protected ranges.
Check emails as they're typed
Select C2:C100, then click Data > Data validation > Add rule. Under Criteria, choose Text is valid email. Open Advanced options and, under If the data is invalid, pick Reject the input. A typo like "maya@gmail" is refused on the spot, instead of bouncing your reminder email later.
Prefer a dropdown? A layout that refuses full slots
Some organizers want people to pick a slot from a menu instead. That needs a different layout. People add themselves to the next empty row, with their name in A, the slot in B and their email in C. The slot names go in F2:F6 and each slot's limit goes next to it in G2:G6.
The obvious step is a dropdown on B2:B100 (Data > Data validation > Add rule > Dropdown (from a range), pointing at F2:F6). The catch: a dropdown keeps offering a slot after it's full. Sheets has no way to hide an option once it's taken enough times.
To make Sheets refuse a full slot, use a custom formula rule on B2:B100 instead of the dropdown, set to Reject the input:
=COUNTIF($B$2:$B$100, B2) <= VLOOKUP(B2, $F$2:$G$6, 2, FALSE)
Sheets checks the rule with the new entry already counted, so the fourth "Dessert" against a limit of 3 is refused. A slot name that isn't on the list fails too, because VLOOKUP can't find it. Spots left for this layout go in H2 as =G2-COUNTIF($B$2:$B$100, F2). The trade-off is real: people have to type the slot name, there's no menu, and the rule only checks new entries, so it can't stop someone typing over a slot that's already taken.
Share it, and watch it
- Share. Click Share at the top right. Under General access, choose Anyone with the link, set the role to Editor, click Copy link, then Done. People who aren't signed in to Google can edit too, and show up as anonymous animals.
- Get an email when it changes. Click Tools > Notification settings > Edit notifications. Choose Any changes are made and Email - right away, then Save.
- Find out who changed a cell. Right-click it and choose Show edit history. Google notes that some changes don't appear there, such as rows added or deleted.
- Undo damage. Click File > Version history > See version history, find the version from before the problem, and copy the missing names back. Restore this version also undoes every sign-up made after it.
Where Sheets still falls short
- Names can be typed over. Protection keeps your slots and formulas safe, but the Name column has to stay open, so anyone can clear or overwrite someone else's name. Edit history tells you afterwards. Nothing warns anyone at the time.
- Phones. On a phone, editing usually means installing the Google Sheets app, and a spreadsheet grid is fiddly on a small screen. Many sign-up links get opened from a group chat on exactly that kind of screen.
- Everyone sees the email column. Hiding column C doesn't help, because any editor can unhide it.
- No confirmations or reminders. Nobody gets anything after they type their name. Reminding people means copying the email column into a message yourself.
- Busy links. Google lets a file be edited in up to 100 open tabs or devices at once. A sheet sent to a large school list at once can hit that.
When a sign-up tool is easier
Sheets is a good choice when the list is internal, the people are comfortable in a spreadsheet, and you want to sort, filter or total things afterwards. A rota inside a team that already works in Google Workspace is a fine use.
For anything where people sign up from their phones, where a full slot has to stay full, or where you want reminders and a cancel link, a sign-up tool saves the setup. In Dibs, the whole layout above is five lines:
- Main dish x33 spots
- Side dish x33 spots
- Salad x22 spots
- Dessert x33 spots
- Drinks x22 spots
Each line becomes a slot with its limit. The claim that takes the last spot is checked at the moment it's made, so two people can't both get it, and the next person can join the waitlist. People get a confirmation, a reminder and a link to swap or cancel. It's free, with no ads and no accounts. You can still end up in Sheets: every Dibs sheet exports to CSV, which opens with File > Import > Upload.
If a Doc is all you need, the Google Docs version takes ten minutes. For slots by the hour, see the sign-up sheet with time slots.
Google Sheets and Google Drive are trademarks of Google LLC. Dibs is not affiliated with Google. Menus were checked against Google's help pages on October 28, 2026; if something has moved since, tell us and we'll fix it.
Sources
- Google Docs Editors Help: protect, hide and edit sheets · accessed Oct 28, 2026
- Google Docs Editors Help: create an in-cell dropdown list (data validation, reject input) · accessed Oct 28, 2026
- Google Docs Editors Help: use conditional formatting rules in Google Sheets · accessed Oct 28, 2026
- Google Docs Editors Help: COUNTIF · accessed Oct 28, 2026
- Google Docs Editors Help: COUNTIFS · accessed Oct 28, 2026
- Google Docs Editors Help: find what's changed in a file (version and cell edit history) · accessed Oct 28, 2026
- Google Docs Editors Help: manage your notifications · accessed Oct 28, 2026
- Google Drive Help: share and manage access to files · accessed Oct 28, 2026
Questions people ask
How do I show spots left on a Google Sheets sign-up sheet?
With one row per spot, count the rows for a slot with =COUNTIF($A$2:$A$100, F2), then subtract the ones that have a name: =G2-COUNTIFS($A$2:$A$100, F2, $B$2:$B$100, "<>"). F2 holds the slot's name.
Can Google Sheets stop people signing up for a full slot?
Only partly. A dropdown can't hide options that are full. A custom-formula data validation rule set to reject input can refuse a slot once it reaches its limit, but you lose the dropdown, and nothing stops someone typing over a name that's already there.
Can people sign up on a Google Sheet without a Google account?
Yes, if General access is Anyone with the link and the role is Editor. People who aren't signed in appear as anonymous animals, and editing on a phone usually needs the Google Sheets app.
How do I see who changed a cell in Google Sheets?
Right-click the cell and choose Show edit history. For the whole file, open File, then Version history, then See version history.
Or let the sheet keep count.
Type your list, one thing per line, and share one link. Limits, a waitlist and reminders come with it. Free, no ads, no accounts.