Hi Peter,
You're right, the "Cat" prefix is not necessary for the solution, but I prefixed the string from the Category file with "Cat" so that it is obvious in the named item file that this refers to a category code (on the assumption that there may be other values in the file). In addition, it lets you trap an empty value with having to use an IF() statement.
Cat=** Empty entry **
since GETNAMEDITEM() returns and empty string if the value isn't found, you could also use:
IF(GETNAMEDITEM("Cat"&TRIM({Category}))="","!("&TRIM({Category})&") IS UNDEFINED!",GETNAMEDITEM("Cat"&TRIM({Category}))
which would highlight when the table needs updating.