You can cross-join two tables and then create a calculated field as SUM( IF CONTAINS([Names],[Staff]) then 1 END) for No.of Matches.
My problem is that I dont have any common fields to do the join.
You don't need common fields to do cross join in Tableau.
Join the two tables and in the join condition, use Edit Join calculation and Type 1 in both the windows so it does a Cartesian join.
One caveat with this, it significantly increases the size of your data set. So, if you're working on large data set, then this isn't a recommended solution. Else it should work just good.
yes Cartesian product will be a problem as the data sets are huge so its probably not a good solution.