Non-volatile ordinary (not array) formulas achieving the same - pretty quick.
For the store info:
=IFERROR(INDEX(Data!A:A,AGGREGATE(15,6,ROW(Data!$3:$300)/(TRIM(INDEX(Data!$A$3:$HF$3,,MATCH("Week "&$B$1,Data!$1:$1,0)+2):INDEX(Data!$A$10:$HF$300,,MATCH("Week "&$B$1,Data!$1:$1,0)+2))<>""),ROWS($1:1))),"")
copied across and down and for the fault info:
=IFERROR(INDEX(INDEX(Data!$A:$HF,,MATCH("Week "&$B$1,Data!$1:$1,0)+COLUMNS($E:E)-1),AGGREGATE(15,6,ROW(Data!$3:$300)/(TRIM(INDEX(Data!$A$3:$HF$3,,MATCH("Week "&$B$1,Data!$1:$1,0)+2):INDEX(Data!$A$10:$HF$300,,MATCH("Week "&$B$1,Data!$1:$1,0)+2))<>""),ROWS($1:1))),"")
copied across and down
Bookmarks