Explanation
In this example we are looking for the nth occurrence of the "@" character.
Working from the inside out, we first use the SUBSTITUTE function to replace the nth occurrence of "@" with CHAR(160):
SUBSTITUTE(B5,"@",CHAR(160),C5)
The SUBSTITUTE function has an optional 4th argument called instance number that can be used to specify the instance that should be replaced. This number comes from column C.
SUBSTITUTE then replaces the nth occurrence of "@" with CHAR(160), which resolves to "†". We use CHAR(160) because it won't normally appear in text. You can use any character you know won't exist in the text. For a demo of the CHAR function, see this video.
Finally, the FIND character looks for CHAR(160) and returns the position.
Note: I developed this example on a Mac originally, where CHAR(160) resolves to a dagger (†). On Windows, use CHAR(134) for a dagger character.