Maybe something like this?
kw killer: Pub Restaurant London Manchester Birmingham
--A--- -B-- ----C----- ----D----- --------------------------------------------------E--------------------------------------------------
1 Count: 2 2 3 D1 and left: =COUNTA(D4:D7)
2 ***: 12 6 3 D2 and left: =PRODUCT($D1:D1)
3 Grp3 Grp2 Grp1
4 Good Pub London Symbols
5 Bad Restaurant Manchester
6 Birmingham
7
8 #
9 1 Good Pub London D9 and down: =INDEX(OFFSET(D$3, 1, 0, D$1), MOD(ROW() - ROW(D$9), D$1) + 1)
10 2 Good Pub Manchester C9 and left and down: =INDEX(OFFSET(C$3, 1, 0, C$1), MOD( INT( (ROW() - ROW(C$9)) / D$2 ), C$1 ) + 1)
11 3 Good Pub Birmingham
12 4 Good Restaurant London
13 5 Good Restaurant Manchester
14 6 Good Restaurant Birmingham
15 7 Bad Pub London
16 8 Bad Pub Manchester
17 9 Bad Pub Birmingham
18 10 Bad Restaurant London
19 11 Bad Restaurant Manchester
20 12 Bad Restaurant Birmingham
Bookmarks