Hi Scraffat,
The obvious solution would be to use one of the RAND functions but the challenge is that if you make a change with causes it to recalculate then a new set of random numbers is generated and so your results change. You could generate random numbers then copy&paste as values to fix them but I wanted to avoid a manual task and you'd still have to handle duplicate results.
I'm just showing a part of each table for brevity but I did test using 60 names. Is this what you wanted?
Children Tab
You didn't say how you wanted the results shown so I've assumed a new schedule each day (so I'm using the date to modify calculation results) and I've assumed if you have children with the same name then you employ some kind of unique identifier yourself. This takes the ASCII table position of the 1st, 3rd and last character of their names multiplied then divides by the day, month (multiplied by 37) and year. I then pick the 3rd, 4th and 5th digit of that generated number as the "pseudo random" number. NOTE: There is no special significance to this calculation, it was just made up at 'random'.
Timetable Tab
This shows the 4 classes and 15 seats for each in the 60 rows. The dates are copied from the Children tab into row 1 and for each cell where you want a name it indexes into the list of 60 names using the unique calculated rank of the "pseudo random" number.
The unique rank ensures no name is repeated each day.