I'd really recommend using Power Query to do this.
But if you need to use formula...
Method 1:
In some empty range: Note that I converted Venue list to table.
=TOCOL(TOCOL(SEQUENCE(B2-B1+1,,B1,1)&"|"&TRANSPOSE(B7:B30))&"|"&TRANSPOSE(Table1[Venue List:]))
Then copy result as values into range.
Then use Text to columns on range and split by "|". Apply format and sort as desired.
Method 2:
First cell of Date column.
=TOCOL(IF(SEQUENCE(,COUNTA(Table1[Venue List:])*24),SEQUENCE(B2-B1+1,,B1,1)))
First cell of Times.
=TOCOL(IF(SEQUENCE(,B2-B1+1),TOCOL(IF(SEQUENCE(,COUNTA(Table1[Venue List:])),B7:B30))),,TRUE)
First cell of Venue.
=TOCOL(IF(SEQUENCE(,(B2-B1+1)*24),Table1[Venue List:]),,TRUE)
Bookmarks