Am facing a bit of a problem regarding the structure of a CSV file that will be used to generate levels in a match3 game, my in-engine data structure is the following:
LevelGoal(LevelGoalType type, int colorIndex, int target)
so that is a single goal in a level, and a level is composed of multiple goals, and the number of goals in a single level is not fixed, so some levels can have 3 goals, and other can have 4 (see image below). Am wondering if there is a "common way" to setup the CSV file so it supports this feature, currently the only solution i could think of is to actually include the LevelIndex in the CSV and use that to create the data in game, but maybe there is a better "standarized" way since people have been making Match3 games for ages.
I marked @DMGregory answer as the solution because it ended up being the closest one to what the client and my puzzle-expert friend told me, check the image below to see the final version of the table, it turns out that the main priority for game designers is to have 1 row per level, ideally the "GoalType" could've been a string and we can add rules to the spreadsheet so that the string can never have a typo, their initial suggestion was exactly what @DMGregory suggested, but after talking with the designer we chose this solution instead, plus parsing wise, it's easier for me to have one column per "object", with that said, they also told me that this kind of workflow is only used in prototypes, if the game get the greenlight then the devs will end up creating a Level editor, and will probably never deal with CSV again and save it all as JSON (or binary if your boss is insane)
Thank you all!