This process cannot be achieved with the IF function, but it is possible with the CONTAINS function.
The reason is that the IF function cannot specify a field in the table
from a field that is not in the same table as the argument of the equal sign.
With the CONTAINS function, it is possible to specify an array <string> type
as the first argument and a string type as the second argument.
IF(CONTAINS(supnametb, supname), "true", "false")
Could you try this out and see if it works out?