HomeGoogle DocsSpreadsheetBuild a Snake and Ladder Game in Google Sheets (No Apps Script)

Build a Snake and Ladder Game in Google Sheets (No Apps Script)

The Snake and Ladder Game in Google Sheets is a fun way to turn a spreadsheet into a fully interactive board game—without using Apps Script.

Since the game is based on a numbered grid, you can recreate it entirely using formulas. This version is dynamic, automated, and beginner-friendly.

Snake and Ladder game board in Google Sheets with dice roller and player controls

It’s also similar to Chutes and Ladders, so you can easily customize the theme.

In This Guide, You’ll Learn

  • How to download and use a ready-made template
  • How to play the Snake and Ladder Game in Google Sheets
  • How to build your own Snake and Ladder Game in Google Sheets step by step

Download the Free Snake and Ladder Game

Preview & Download

How to Play the Snake and Ladder Game in Google Sheets

This Snake and Ladder game in Google Sheets supports up to 4 players and is simple to use.

Player 1

  • Click the checkbox in cell Q3 to roll the dice.
  • Count the number of pips shown on the dice.
  • Uncheck Q3 to reset it for the next turn.
  • If the result is 1, enter the value in cell S3 (1 represents the starting move).

Player 2

  • Click the checkbox in cell Q4 to roll the dice.
  • Count the number of pips shown on the dice.
  • Uncheck Q4 to reset it for the next turn.
  • If the result is 1, enter the value in cell S4.

Player 3

  • Click the checkbox in cell Q5 to roll the dice.
  • Count the number of pips shown on the dice.
  • Uncheck Q5 to reset it for the next turn.
  • If the result is 1, enter the value in cell S5.

Player 4

  • Click the checkbox in cell Q6 to roll the dice.
  • Count the number of pips shown on the dice.
  • Uncheck Q6 to reset it for the next turn.
  • If the result is 1, enter the value in cell S6.

Continue the Game (Entering Scores)

  • For each turn, enter the dice result in the next column (T, U, V, W…) for that player.
  • Each row represents a player.
  • Each column represents a turn.

Use the following structure:

Players entering dice scores turn by turn in the Snake and Ladder Google Sheets game

How It Works

  • Players start entering values only after rolling 1
  • Blank cells represent turns before the player rolls 1 and enters the game
  • Once a player starts, their values continue across columns
  • All players remain aligned by turn, making gameplay easy to track

This method provides the best experience in the Snake and Ladder Game in Google Sheets by keeping turns structured and visually clear.

Key Tip

A player can start moving only after rolling 1.
Until then, their row may remain blank in the early turns.

Automated Player Movement

Unlike the physical version, this Snake and Ladder Game in Google Sheets does not use pawns.

Player positions are automatically displayed using conditional formatting.

You only need to:

  • Roll the dice
  • Enter the score

The sheet automatically handles:

  • Climbing ladders
  • Sliding down snakes
  • Updating player positions

If two players land on the same square, one marker may not be visible—this is normal and can be ignored.

Winning Rules

You can continue the game until:

  • One player wins
  • Two players finish
  • All players finish

Choose any rule based on your preference.

Important Note (Exact Roll Rule)

To win the game, a player must land exactly on 100.

Examples:

  • If a player is on 99, they must roll 1
  • If a player is on 92, they must roll 2

If the dice shows a higher number:

  • The move is ignored
  • The player stays in the same position
  • They must wait for the exact number

To start a new game, clear the score values in S3:FL6

If you’d like a quick overview of the gameplay, watch this video.

How to Build a Snake and Ladder Game in Google Sheets

If you want to create your own Snake and Ladder Game in Google Sheets, follow these steps.

Step 1: Create the Board

Create a new Google Sheets file (type sheets.new in your browser).

Rename Sheet1 → Play

In cell B2, enter:

=LET(
 rows, 10,
 cols, 10,
 start, 1,
 MAKEARRAY(rows, cols, LAMBDA(r, c,
   LET(
     b, rows+1-r,
     base, (b-1)*cols,
     IF(ISODD(b), base+c+start-1, base+cols+1-c+start-1)
   )
  ))
)

This creates a zigzag grid from 1 to 100.

Format the Board

  • Column width: 45 px
  • Row height: 45 px
  • Center-align text (horizontal + vertical)
  • Font: Montserrat (recommended)
  • Apply a thick black outer border to the entire board

Apply the Board Pattern

Go to:
Format → Conditional Formatting → Custom formula is

=MOD(ROW()+COLUMN(), 2)

Set fill color: #dce5dc

Want to understand how this pattern works? See Conditional Format a Chessboard Pattern in Google Sheets.

Step 2: Add Snakes and Ladders

Add a new sheet and rename it Engine

Snakes Table (A2:C10)

NoHeadTail
1177
23414
34718
46443
57958
68824
79473
89878

Ladders Table (E2:G9)

NoStartEnd
1422
2830
31941
42855
53662
65172
77596

These placements create a balanced Snake and Ladder Game in Google Sheets.

Add Graphics

Go to the Play sheet and add the snakes and ladders based on the tables above.

You can:

  • Use the built-in Drawing tool
  • Insert transparent images

You can also use AI tools to generate visuals and fine-tune them using an image editor.

Step 3: Dice Roller

Select cell range Q3:Q6Insert → Tick box

In M3, enter:

=ARRAYFORMULA(
  LET(
    diceValue, IF(COUNTIF(Q3:Q6, TRUE), RANDBETWEEN(1, 6), 0),
    spacerRow, SEQUENCE(1, 9)^0,
    dicePatterns, 
    {
      0,0,0,0,1,0,0,0,0;
      1,0,0,0,0,0,0,0,1;
      1,0,0,0,1,0,0,0,1;
      1,0,1,0,0,0,1,0,1;
      1,0,1,0,1,0,1,0,1;
      1,0,1,1,0,1,1,0,1
    },
    selectedPattern, XLOOKUP(diceValue, SEQUENCE(6), dicePatterns, 0),
    diceGrid, WRAPROWS(selectedPattern * spacerRow, 3),
    IF(diceGrid=0, , "●")
  )
)

Format the Dice

  • Column width: 45 px
  • Select M3:O5
  • Center-align content
  • Font size: 25
  • Apply thick black border
  • Fill color: #f6f3ed

Note: For a detailed explanation of the dice formula, check out Create a Dice Roller in Google Sheets Using One Formula.

Step 4: Build the Engine

In the Play sheet, enter player names in R3:R6.

To reference these names in the Engine sheet, enter the following formula in A13:

={Play!R3:R6}
Google Sheets engine tab with formulas for snakes, ladders, and player positions

In Engine!B13, enter:

=BYROW(Play!S3:6, LAMBDA(row, 
  SCAN(0, row, LAMBDA(acc, val, 
    LET(
      score,
        XLOOKUP(
          acc+val,
          $F$3:$F$9, $G$3:$G$9,
          XLOOKUP(acc+val, $B$3:$B$10, $C$3:$C$10, acc+val)
        ),
      IF(score>100, score-val, score)
    )
  ))
))

How It Works

  • XLOOKUP (outer) checks if the new position matches a ladder start and returns the ladder end.
  • XLOOKUP (inner) checks if it matches a snake head and returns the tail.
  • If no match is found, the value remains unchanged.
  • SCAN maintains the running total for each move.
  • BYROW applies the logic to each player independently.
  • The IF condition ensures the score never exceeds 100.
    • For example, if a player is at 95 and rolls 6, the move is ignored, and the position remains 95.

Step 5: Highlight Player Positions

Apply conditional formatting to B2:K11 in the Play sheet.

Use the following custom formula:

=B2=CHOOSECOLS(INDIRECT("Engine!B13:13"), -1)

Repeat this rule for each player. When duplicating, update the row reference and assign a unique fill color:

  • Player 1Engine!B13:13 → Color: #ff6b6b
  • Player 2Engine!B14:14 → Color: #4dabf7
  • Player 3Engine!B15:15 → Color: #51cf66
  • Player 4Engine!B16:16 → Color: #ffd43b

Place these rules above the chessboard formatting rule to ensure player positions are visible.

Tip

Choose colors with good contrast against the board background so player positions are easy to identify at a glance.

Step 6: Winner Formula (Optional)

Merge M9:R10 in the Play sheet.

In M9, enter:

=LET(
  winners,
    SORT(
      IFNA(
        HSTACK(
          Engine!A13:A16,
          BYROW(Engine!B13:16, LAMBDA(row, XMATCH(100, row)))
        )
      ),
      2, TRUE
    ),
  rank,
    IFNA(
      FILTER(
        CHOOSECOLS(winners, 1),
        CHOOSECOLS(winners, 2)
      )
    ),
  TEXTJOIN(" | ", TRUE, rank)
)

How It Works

  • winners → Finds when each player reaches 100 and sorts by turn order
  • rank → Filters winners and joins names into a single result

Step 7: Final Setup

A Snake and Ladder game can sometimes take many turns. Limiting it to around 150 turns helps keep the gameplay engaging. To support this, you can extend the number of columns in both the Play and Engine sheets.

Extend Columns in the Play Sheet

You currently have columns from S to Z. To quickly extend this:

  1. In cell S1, enter:
=SEQUENCE(1, 150)
  1. This will fill columns up to FL.
  2. Go to column FM, then select FM and all columns to the right, and delete them.
  3. Delete the formula in S1.

Extend Columns in the Engine Sheet

  1. In the Engine sheet, enter the same formula in cell B18:
=SEQUENCE(1, 150)
  1. This will fill columns up to EU.
  2. Go to column EV, select EV and all columns to the right, and delete them.
  3. Delete the formula.

Notes

  • This ensures enough space for extended gameplay without manually inserting columns
  • You can adjust 150 to any number based on your preference
  • Finally, go to column R in the Play sheet and select:
    View → Freeze → Up to column R

This keeps player names and starting columns visible while scrolling through turns.

Conclusion

You’ve now built a complete Snake and Ladder Game in Google Sheets without using Apps Script.

This project helps you:

  • Learn advanced formulas like LET, SCAN, BYROW, and XLOOKUP
  • Build interactive spreadsheet tools
  • Explore creative use cases in Google Sheets

For more free automated templates, explore the Ultimate Library of Free Google Sheets Templates.

Prashanth K V
Prashanth K V
Your Trusted Google Sheets and Excel Expert Prashanth K V is a Diamond Product Expert in Google Sheets, officially recognized by Google for his contributions to the Docs Editors Help Community and featured in the Google Product Experts Directory. Explore his blog to learn advanced formulas, automation tips, and problem-solving techniques to elevate your spreadsheet skills.

Top Discussions

More like this

How to Use the SHEET and SHEETS Functions in Google Sheets

The SHEET and SHEETS functions let you retrieve information about worksheets in a Google...

How to Create a Self-Healing Table of Contents in Google Sheets

A table of contents makes navigating large Google Sheets workbooks much easier. However, a...

Sort a Tab Name List Dynamically by Workbook Order in Google Sheets

When your workbook contains many sheets (tabs), you may create a table of contents...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.