Explanation
All the hard work is done by the COUNTIF function, which is configured to count the values in the named range "substrings" that appear the named range "rng" with like this:
COUNTIF(rng,"*"&substrings&"*"))
By wrapping substrings in the asterisks, Excel evaluates the formula like this:
=SUMPRODUCT(COUNTIF(rng,{"*dog*";"*green*";"*sun*";"*every*"}))>0
COUNTIF counts the values wherever they appear in the cell. Since we are giving COUNTIF multiple values to look for, we receive a count for each value in an array like this: {1;0;1;1} .
Finally, SUMPRODUCT returns the sum of all items in the array. Any result greater than zero returns TRUE.