Skip to content
Blink Brief
Language:

Guide · Events and stages

How to make a wedding seating chart in Excel or Google Sheets, alphabetical and by table

By Blink Brief · Updated  · How pages are made

Give every guest a row with a name, a Household column and a Table column, then fill in the tables: by hand, sorting by household and counting 8 or 10 seats at a time, or with a free tool that assigns them and hands back a CSV with the Table column filled in. Sort that sheet by last name for the alphabetical list at the entrance, and by table number for the venue.

Short answer

  • Columns: First name, Last name, Household, Table (a number). One row per person, plus-ones and children included.
  • Excel: Data › Sort, tick My data has headers, Sort by Last name, then Add Level for First name.
  • Google Sheets: Data › Sort range › Advanced range sorting options, tick Data has header row, then Add another sort column.
  • Two printouts: A–Z by last name with the table for the guests, and by table for the venue.

Set up the sheet: Name, Household, Table

First name Last name Household Table
MariaLopezLopez4
DanielLopezLopez4
SamLeeLee7
Guest of SamLeeLee7
  • Household holds the same value for everyone who must sit together: a couple, a family, a guest and their plus-one.
  • Table holds a number only, so the sorts and counts below work. Give the head table a number too, such as 1, and keep names like "Head" or the venue's "Rose" in a separate column.
  • One full name per cell? Add a Last name column before you sort: in Excel for Microsoft 365 or Excel 2024, =TEXTAFTER(A2," ",-1,,,A2) takes the last word of A2, and the whole name when there's no space. In Google Sheets, =IFERROR(REGEXEXTRACT(A2,"[^ ]+$"),A2) does the same. In older Excel, Data › Text to Columns splits the name at the space. Check names with 2 last names or "Jr." by hand.

If the list comes from a wedding website, exporting from Zola, The Knot, Joy or Minted gives you the file, and a checker there finds empty and duplicate names. How to turn your guest list into a seating chart covers plus-ones, children and declined guests.

How many tables you need

Divide the guests by the seats per table and round up: 120 guests at tables of 8 need 15 tables, at tables of 10, 12. Add 1 table if households must stay together. Party Rental Ltd. lists a 60-inch round at 8 to 10 guests and a 72-inch round at 10 to 12. How many tables for 100 or 150 guests has every table size and a calculator.

To see how full each table is while you work, list the table numbers in a spare column (say F2 down) and count the guests at each with =COUNTIF(D:D,F2), where column D holds the Table numbers. It works the same in Excel and Google Sheets.

Assign tables: by hand, or with a free tool and back into the sheet

By hand

  1. Sort by Household, so each family sits in a block of rows.
  2. Go down the list and type 1 in Table for the first household, and the next ones, until the next household won't fit in the seats left. Then start table 2.
  3. Watch the COUNTIF column: no table above its seats.
  4. Move the households you care about: grandparents near the front, friends who know each other together.

With the free Seating Chart tool

  1. Copy the name columns and the Household column, and paste them into the Seating Chart tool. It reads Name, or First name and Last name, and a Group, Household, Party or Family column.
  2. Enter the seats per table. The tool fills in the number of tables; change it if you want a spare.
  3. Click 3. Assign seats. Each household goes to one table and the tables are filled evenly. Move anyone with the menu next to their name.
  4. Click Download CSV. The file has the columns Name, Table, Table number, Group, sorted by table.
  5. Bring it into your sheet. In Excel, open the CSV and copy it into a new tab. In Google Sheets, File › Import, upload the file and choose Insert new sheets.

That tab is the chart. If you want the table next to each guest in your main sheet, with addresses and meals, rename the new tab Chart and look each name up: =VLOOKUP(TRIM(A2&" "&B2),Chart!A:C,3,FALSE) returns the Table number for the guest in row 2. It joins the first and last name with a space, as the tool does when it reads First name and Last name columns; if column A holds the full name, use =VLOOKUP(TRIM(A2),Chart!A:C,3,FALSE). The name must match the chart, letter for letter, and a name that appears twice returns the first one's table, so fix duplicates first. The tool runs in your browser and the list isn't uploaded.

Alphabetical by last name, and by table: two sorts, two printouts

Excel

  1. Select any cell in the list.
  2. On the Data tab, in the Sort & Filter group, select Sort, and tick My data has headers.
  3. For the alphabetical list: Sort by Last name, A to Z. Select Add Level and choose First name in Then by.
  4. For the venue: Sort by Table, Smallest to Largest, then by Last name.

Google Sheets

  1. Select the cells of the list, header row included.
  2. Click Data › Sort range › Advanced range sorting options, and tick Data has header row.
  3. Pick Last name, A → Z. Click Add another sort column and pick First name. Click Sort.
  4. For the venue, sort the same way by Table, then Last name.

Sort by a column of numbers. A column that says "Table 1", "Table 2" is text, and text sorts "Table 10" before "Table 2". The Seating Chart tool's CSV has both: Table for the name and Table number for sorting.

If you'd rather not sort at all, the tool's Print escort list and tables prints both lists: every guest A to Z by last name with their table, then one list per table.

Long tables and the head table

  • Head or sweetheart table: type "Head" in their Table cells and leave them out of the rows you paste into a seating tool. Seat them yourself; there are only a few.
  • Long tables: in the sheet, a long table is one table number with more seats. A row of five 8 ft tables seats about 42: 4 per side on each table and 1 at each end of the row.
  • Mixed sizes: the Seating Chart tool gives every table the same number of seats. If you mix long tables and rounds, run the long tables' guests and the rounds' guests separately, or seat the long tables by hand.
  • Excel: so every page shows the column names, go to Page Layout › Print Titles and type $1:$1 in Rows to repeat at top. Then File › Print, and pick your computer's PDF printer for a PDF.
  • Google Sheets: File › Download › PDF (.pdf), or File › Print. For a CSV for the caterer, File › Download › Comma Separated Values (.csv), which saves the current sheet.
  • Send the venue both: the list by table for the staff who set the room, and the alphabetical list for whoever sets out the escort cards.

Our product · in development

Blink Seats: a drag-and-drop floor plan, RSVP changes applied automatically, and a share link for the venue. Planned price $19 per event; planners $15/month.

Join the early list

Questions

How do I make a wedding seating chart in Excel?

Give each guest a row with First name, Last name, Household and Table columns. Fill the Table column by hand or from a seating tool's CSV. Then use Data › Sort twice: by Last name for the alphabetical list, and by Table, then Last name, for the venue.

How do I make a seating chart in Google Sheets?

The same columns as in Excel. To sort, select the data, then Data › Sort range › Advanced range sorting options, tick Data has header row, and pick the column. Add another sort column for the second key.

Should a wedding seating chart be alphabetical or by table?

Both, for different readers. Guests look for their own name, so the board at the entrance is alphabetical with the table next to each name. The venue and caterer set the room table by table, so they get a list per table.

Alphabetical by first or last name?

By last name, then first name. Guests from one family stand together at the board, and a common first name doesn't scatter them. The free Seating Chart tool's printout sorts by last name too.

How do I sort a guest list by table?

Sort by a column that holds the table as a number, then by last name. A column of "Table 1", "Table 2" sorts as text, so "Table 10" comes before "Table 2".

Sources

What this page sends