Don't use the column range "B:B" for the third argument.
It's looking for a number (numeric column number) =VLOOKUP($A1, B1:B4, 1, TRUE)
EDIT: When I replicate your column data as described, I get:
A | B | C
green | asdf | green
blue | ggss | asdf
orange | green | blue
red | blue | blue
You won't achieve your desired results with TRUE
as your last argument