I really don't know how to describe this but appreciate any help in solving it:
We hold a weekly meeting with a variable number of attendees (Currently between 20 & 24) and currently arrange them on 3-4 round tables with 6-8 people per table. We need to find the formula to work out which attendee sits on which table so that they rotate the table they sit on & rotate the people that they sit on the table with, so that they have the chance to network with different people each week. I'm presuming that once the formula is obtained that it would be possible to vary the number of people/number of tables/number of seats per table to make it work for all eventualities.
There are many ways of doing so depending on every how many weeks you want people to have met each other.
Group Theory is certainly a powerful tool in solving your problem unfortunately I forgot most of it. This said here's a way of doing it, although I'm sure you can do better :
Say you name people from $1-24$ and you have $3$ tables. First make committees of $4$ people so you will have $5$ of them. This reduces the problem down to $6$ groups of people, call them $G_{11}, ..., G_{16}$, and $3$ tables which is easy to solve. Each group has another $5$ group to meet so doable in $5$ weeks.
The drawback from this method is that you get groups of $4$ people always staying together for $5$ consecutive weeks. So after $5$ weeks you can change these groups and make another $6$ groups of $4$ people to circle around as explained before. Call these groups $G_{21}, ..., G_{26}$. After another $5$ weeks do it again and call the groups $G_{31}, ..., G_{36}$ and so on.
If you think it is a bad idea for people to be in groups of $4$ for $5$ consecutive weeks then alternate the weeks.
Say you have the planning for $5$ consecutive sets of $5$ weeks, then at table one you can have groups $G_{11}$ and $G_{12}$ the first week, groups $G_{21}$ and $G_{22}$ the second week, ..., up to the fifth week where you get groups $G_{51}$ and $G_{52}$.
Then alternate the groups on the first table to be $G_{11}$ and $G_{13}$ and do it again.
This way should keep you busy for $25$ weeks. Once this is done, shuffle randomly the number you initially assigned to people and do it all over again!
There is no one best way of doing it, there are a lot so by all means perhaps take ideas from what I gave but invent something else.