Если у вас есть формулы массива Dynami c, поместите это в первую ячейку:
=FILTERXML("<a><b>"&TEXTJOIN("</b><b>",TRUE,B3:E12)&"</b></a>","//b[contains(.,'"&H1&"')]")
Если нет, то у вас есть TEXTJOIN, тогда мы можем использовать обертку INDEX ():
=IFERROR(INDEX(=FILTERXML("<a><b>"&TEXTJOIN("</b><b>",TRUE,$B$3:$E$12)&"</b></a>","//b[contains(.,'"&$H$1&"')]"),ROW(1:1)),"")
это нужно будет скопировать вниз по листу.
Если у кого нет TEXTJOIN, тогда VBA будет лучшим подходом