先写出我的普通公式做法,等着精简
第一种,按楼主图例:

C1输入:
=IF(ROW()>COUNTIF(A$1:A$6,"*"&B$1&"*"),"",LOOKUP(ROW(),COUNTIF(OFFSET(A$1,,,ROW($1:$6)),"*"&B$1&"*")*FIND(B$1,A$1:A$6)^0,A$1:A$6))
第二种,首行为空行:

C2输入:
=LOOKUP(99,FIND(B$2,TEXT(COUNTIF(C$1:C1,A$1:A$7),";;"&A$1:A$7&REPT(B$2,A$1:A$7=""))),A$1:A$7)&""
这个公式短点,不过结果顺序颠倒