I have a survey that sends responses into a Google sheet. The raw data that is inserted is messy, so I have another sheet that processes the incoming raw data.
One of the things I need to do is: from a range of columns in one row, pull the non-empty cells--and do this automatically with every new response that comes in.
This is what I've come up with that works with a single row, but I can't figure out how to have it automatically apply to the entire column:
=transpose(QUERY(unique(transpose({'Raw Data'!AL3:AY3,'Raw Data'!AL3:AY3})),
"SELECT Col1 WHERE Col1 <> '' ORDER BY Col1 ASC LIMIT 8",0))
Because the survey will insert rows, it ends up adjusting any cell references in my 'Processed Data' sheet, so I've been trying to use ARRAYFORMULA
unsuccessfully.
Also, the range of columns will be more than 400 (options of schools), so manually writing out individual column names would probably be unfeasible.
Here's a link to the spreadsheet
The column of issue starts on column O
Background: In the survey, a respondent can select multiple schools to a maximum of 8 out of a selection of 400+ schools. In the 'Raw Data' sheet, each school option is represented by a column.
Hopefully all of that made sense. Any help would be greatly greatly appreciated - I've been stuck on this for a while!