●同じ行に同じ文字であれば
B C D
1 a a
2 b b
3 c
4 d d
5 e e
6 f
7 g g
8 h h
9 i i
10 j
11 k k
12
13 c,f,j
14 f,j
15 j
B13
=IFERROR(INDEX(B$1:B$11,AGGREGATE(15,6,ROW($1:$11)/(D$1:D$11=""),ROW(B1))),"")&IF(B14="","",","&B14)
下方向・↓ 14行から下の数行を非表示に
最新のExcelなら
B13
=TEXTJOIN(",",,FILTER(B1:B11,D1:D11=""))
●行がバラバラであれば
B C D
1 a e
2 b g
3 c d
4 d a
5 e k
6 f b
7 g
8 h
9 i i
10 j h
11 k
12
13 c,f,j
14 f,j
15 j
B13
=IFERROR(INDEX(B$1:B$11,AGGREGATE(15,6,ROW($1:$11)/(ISNA(MATCH(B$1:B$11,D$1:D$11,0))),ROW(B1))),"")&IF(B14="","",","&B14)
下方向・↓ 14行から下の数行を非表示に
最新のExcelなら
B13
=TEXTJOIN(",",,FILTER(B1:B11,COUNTIF(D1:D11,B1:B11)=0))
※質問時にExcelのバージョンを選択してください。