Your source list of events is not sorted. VLOOKUP tries to be efficient, so if it gets to an entry which is after what it is looking for, it gives up and uses the last value it got to.

Imagine looking through the telephone book for "newt335". If I get to "Newton", I know I have gone too far so I use the last entry I did find which was "newt". Not the right answer...

So you need to tell Excel that the data is not sorted, so it will do an exhaustive, exact match search every time. This is the fourth optional parameter of VLOOKUP which I see lots of people use like voodoo without really knowing why ("You have to put FALSE in or it does not work. No-one knows why!"). Also, as a rule of thumb don't include the header in your query, start at the first row of data:

=VLOOKUP(N2, VLOOKUP!$A$2:$B$327, 2, FALSE)

Think of the "false" as the answer to the question "Is this data sorted, and will I accept near-matches?"

Some other pointes to make this more reliable: Convert the source lookup list to an actual Table. Select any cell in the list and press Ctrl+T. Check that the dialogue box shows the complete range for your list, and that "My data has headers" is checked (because you do have headers which are formatted differently it will automatically pick this up). On the TableTool > Design ribbon, on the left hand side, change the table name, for example "EventTypes" (no spaces allowed). Do the same with your main list and call it "Events" for example. Now change your VLOOKUP to something like:

=VLOOKUP([@Event],[EventTypes],2,FALSE)

See how that is more human friendly and readable? It also means you don't have to worry if you need to add more events to the EventTypes table - Excel will use the whole of the table every time, rather than you having to fix that $B$327 to $B$328, 329, etc.

For even better results, and to learn something more flexible for the future, separate the lookup and return values into MATCH and INDEX:

=INDEX(EventTypes[Event_Type],MATCH([@Event],EventTypes[unique(olympic$Event)],0))

(The zero here does what FALSE did above, and forces an exact match)