My logbook has a similar function. The ICAO code is in Column G of the "logbook" page.
The "lookup" is on a separate page in the same workbook called "ICAO Codes", which I can update as and when I need to.
Column B on that page is ICAO codes, sorted alphabetically.
Column C is airfield names.
At the moment, it allows for 196 ICAO airfields, but that's adjustable - just change "203" to the new number.
The field in the "logbook" page that displays the Airfield Name has this in it (the G7 becomes G8 G9 etc, but the lookup details stay as they are).
=LOOKUP(G7,'ICAO Codes'!$B$7:$B$203,'ICAO Codes'!$C$7:$C$203)
The only catch is that if your ICAO table has, for example, EGMC them EGMH and you fly to EGMD, it won't give you an error message - just the wrong airfield name.