Four dropdowns that narrow each other. Pick a state and only its cities appear; pick a city and only its schools; pick a school and only its branches. The chain comes from your sheet, not from code.
Each level reads the sheet and shows only the values that belong to what was chosen above it. Select California and the city list holds just its cities. Move a city to a different state in the sheet, refresh, and the dropdown follows immediately. Nobody edits JavaScript to add a branch — they add a row.
Source data repeats. A state appears once per school beneath it, so California might sit in the sheet ten times. A naive dependent dropdown then shows California ten times. This one shows it once, at every level, which is the detail that decides whether the form is usable or embarrassing.
Worth knowing for larger setups: each level can be pointed at a different sheet, and even at a different spreadsheet by its ID. States can live in one file maintained by one team while branches live in another, and the form still assembles the chain. The source column for each level is configurable too.
Every field is required — a partial selection is refused with a message — and the completed record is written to your Google Sheet. Use it as a standalone form or lift the dependent-dropdown mechanism into a bigger project, which is what most people do with it.
| Version | v1.0 |
| Published | Aug 22, 2025 |
| Platform | Google Apps Script |
| Database | Google Sheets |
| Category | Forms & Data Entry |
| Tags | |
| Video | Watch walkthrough |
| License | Regular License |
Extra modules, your branding, integrations or reports built on top of this file. You get a clear quote and timeline before any work starts, and support after delivery.
What We Customize
20-30% advance to start • Clear quote before work begins • Support included after delivery
Paid picks from the same category
What buyers and viewers say about Multi-Level Dependent Dropdown Form | Google Apps Script Tutorial | B22.