Those {} brackets are part of the hard-coding, you still would need to confirm the whole formula to get the { } around the formula....

... but anyway, I think you might want this instead:

=IFERROR(INDEX($A$2:$A$100,SMALL(IF(ISNUMBER(SEARCH("C",$B$2:$B$100))*ISNUMBER(SEARCH("X",$C$2:$C$100))*ISNUMBER(SEARCH("Y",$C$2:$C$100))*ISNUMBER(SEARCH("Z",$C$2:$C$100)),ROW($A$2:$A$100)-ROW($A$2)+1),ROWS($A$2:$A2))),"")
confirmed with CTRL+SHIFT+ENTER and copied down.