If reference cell contains "x", return "y", otherwise return "z"
Try changing your LOOKUP function to EXACT, so that your formula would read

IF(EXACT("apple",B4),"$100","$200")


or

IF(B4="apple", 100, 200)


for a case insensitive solution, or 

IF(TRIM(B4)="apple",100,200)


for a solution which will work even when there's whitespace around the word in the cell (leading/trailing spaces, etc.).



My Numbers is set to use ; instead of , as delimiters, so my test sample reads IF(EXACT("Apple";B4); 100; 200)