I would essentially like to write something like below:
IF([Material Used] like [Material Bought],'Okay','Not Okay')
and this would evaluate the two to see if the string from Material Used is contained within Material Bought. I want to avoid having to write if statements containing all the possible values.
if I get you right, you have defined items, separated by a semicolon?
or is it undefined strings you want to compare like
Material Bought Material Used BrickStone; Mortar Bricks Stone Cobblestone
That would make a different story, guess you would have to run loops on that. Ghastly.
As long as you can split up the items using a defined separator (";") as given in your sample, you may want to extract data (using the subfield command) into two tables, one for column 1 and one for the other, each with an id for the line and a field for the text.
The data would look like this:
Bought Used Brick; Mortar Brick Stone Sand; Mortar
Line_ID item 1 Brick 1 Mortar 2 Stone
Line_ID item 1 Brick 2 Sand 2 Mortar
Then, grouped per line_id, you count matches of both fields,
here resulting in a sum of 1 for line_id 1 and 0 for line_id 2.
Any line with >0 matches is what you are looking for.
Would that help?