Sorry, but why do you think that VLOOKUP() is not an option? As has already been suggested, it is exactly what you need. Are you perhaps concerned that column Z in your company table is so far away from column B? That does not matter. For the formulae in column X of your events table, you retrieve the required value from the company table using VLOOKUP(). Its first parameter is the company name in the events table, Bn or whatever. The second parameter is the range that contains the company names and values, so B$20:Z$22 (if you see what I mean). The third parameter is the column in that range containing the required value; if the range really does span columns B to Z, that will be 25. The fourth parameter should be FALSE (or zero), to indicate that the company names in column B of the company table are not sorted.
I trust this helps.
Brian Barker