This puzzle has been solved over on the Excel Forum by Glen.
He got there by using other additional cells but it works fine. He say most likely I would need VBA to get a more elegant solution but I'm happy with what he's done. If anyone wants to work on a VBA that's fine.
Thanks everyone.