Se TEXT 2
não for encontrado, o SEARCH apresentará um erro e, como tal, todo o OR apresentará um erro e será considerado FALSE, independentemente de D1 = Text 1
Use ISNUMBER para retornar FALSE ou TRUE:
=OR($D1 = "TEXT 1", ISNUMBER(SEARCH("TEXT 2", $D1)))