This repository consists of several Google Apps Script (.gs) custom functions and html (.html) files. Once the code in this repo is pasted into a new spreadsheet using the Apps Script Editor, users will be able to create n-tiered cascading dropdown menus. The number of tiers used in the cascading dropdown menus is only limited by the amount of storage in the Google Apps Script document properties , and inherent limits on the number of rows/columns in a given sheet.
This avoids the issue which presents in many online tutorials about cascading dropdown menus: the arbitrary limit on the number of tiers that the cascading menus can consist of (see e.g. this youtube tutorial (arbirarily limiting the number of tiers to two); this other tutorial (arbitrarily limiting the number of tiers to three)).
Cascading dropdown menus (or 'dependent' dropdown menus) are list-based data-validated cells (for a general primer on data validation in Google Sheets, see this help page ) where the validation list in the active cell depends on the input into the cell immediately to the left. For example, suppose that cell $C$1 contains a data-validated list of food types ("vegetables, fruits, meats, grains") and that $D$1 is supposed to contain a list of sub-types. $D$1 should dynamically change based on the user input to $C$1.
The code works by allowing the user to store nested objects in JSON format in the instant Google Sheet's 'document properties.' When the user wants to declare a new series of cascading dropdown menus, they can do so using the modular dialog boxes that open from the 'Custom' option in the start menu.