Here's a temporary fix. It should match C4 from 'Sheet Manager' to column B in Contracts as an additional condition to ensure it's reading off of your contracts not the first it can match to.
As a temporary fix:
Go to View -> Hidden Sheets -> Formula/Data Sheet
In Cell R3, Should be the Perception of your first employee:
Paste the following formula:
=IF($N3="", "", INDEX(FILTER(Contracts.csv!$1:$20001, Contracts.csv!$C:$C = $N3, Contracts.csv!$B:$B = 'Sheet Manager'!$C$4), 1, MATCH(R$2, Contracts.csv!$1:$1, 0)))
Then, grab the corner of the cell and drag it down a few hundred cells (I'm not sure if there's a way to apply a formula to the rest of the column automatically, not very familiar with Google Sheets).
At a glance, it looks like the rest of the fields pulling from the contracts sheet will need the same treatment. Gimmicks, rating, contract, etc.