Yeah its a tough one as the data is vast,
I would say the Substitute formula is the way forward.
If i come up with anything else i will let you know