Thank you everybody for your responses!

I used dredwolf's solution "=ISERROR(MATCH(B2,INDIRECT(A2),0))" and it worked!!
Thank you so much dredwolf!!

My gosh, your code is like 1/4 the size of the code I had...

So for clarification on the purpose of this: What I am trying to accomplish is sort of like an error check. When you change "categories", the element under "item" doesn't change respectively with it.
An example would be: I choose my category as “Fruit” and item as “Apple”. If I decide to change the category to “Vegetables”, the element “Apple” still stays. By highlighting the cell, I would easily be able to pinpoint the rows where the items do not fall under the correct category and can correct them right away.

Though my problem has been solved, I do have one more question for better understanding: in the code "=ISERROR(MATCH(B2,INDIRECT(A2),0))" that is being applied to $B$2:$B$5, are the values 'B2' and 'A2' dynamic? Meaning do they internally change to B3 A3, B4 A4, or B5 A5 if being applied to that specific row? I hope this question makes sense.