'How to create a dependent dropdown list for 4 cells in a row that can easily be repeated in rows below
I have a table called Games that looks as such:
In here, the columns that matter are the Seats and Commanders. Each player (choosable in the Seat columns) has their own list of Commanders (Magic: the Gathering jargon) which are simply values that those players make use of. When I select "Bryan" in "Seat 1," the "Commander" cell to its right should populate with a dropdown list of all the Commanders that player has stored under their name. These are currently stored in columns in a separate uglysheet in a manner that allows and expects for more than 12 Commanders (expandable over time).

The issue I have run into with creating this dependent dropdown list for each Commander column is that Data Validation in Sheets cannot take formulas. My initial and primary workaround currently is in my uglysheet of Commander values, I have a column for each cell in the "Commander" columns in the Games table that are determined by an INDIRECT call to the value of the corresponding Seat. For example, on my uglysheet there is a column for Seat 1 Commander, Seat 2 Commander, Seat 3 Commander, and Seat 4 Commander. Each one of these columns is populated with a value of INDIRECT(C3) or so where C3 is the location of Seat 1, Seat 2, respectively.

Then, the Commander cell for Seat 1 in the Games table has the Data Validation dropdown list of K2 where K2 is the column of the corresponding list of Commander values determined through the INDIRECT function.
This works, however the caveat is that it takes a lot of space. For each row of the Games table, each game, there are 12+ rows in the uglysheet that are allocated to it which realistically need to be below the previous games 12+ rows to keep the data organized. This is not easily referenced with Data Validation as autopopulating the Data Validation only increases addresses by 1 such as: K2:K14 -> K3:K15 instead of K2:14 -> K15:K26. Additionally, this takes up a lot of space on the uglysheet which is fine given its not supposed to be visible, however over time when there are hundreds of games in the table, I would rather not have an incredibly large uglysheet that my games have to reference.
How can I work around this dependent dropdown list issue? If Data Validation could take in formulas this would be incredibly easy but unfortunately I have found no such way. I could in theory store my uglysheet data in rows instead of columns but each game would still have 4 rows, just not 12+. Should I make a script for this in Apps script instead? I would like to avoid that for simplicity sake but by all means can.
Thank you!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
