This **simple** Query formula is your solution. =query({resp3columns!A:D;resp3columns!A2:A,resp3columns!E2:G;resp3columns!A2:A,resp3columns!H2:J},"select * where NOT Col2='' order by Col1",1) [![split-fold-row2rows][1]][1] In the screenshot you can see variations with different numbers of data columns (3, 4, 6) **ADDED BONUS** You get your data ordered as well by `Name` or `Model` or any other column you may want. Here is a [**Demo Spreadsheet**][2] you can play with and try out yourself. [1]: https://i.sstatic.net/HaXm5.png [2]: https://docs.google.com/spreadsheets/d/1MbaoiLzwbulWmydr-SLno9DYb00Hxw_sgoyPnpR4rGE/edit#gid=1091288436&range=A2