Вы можете сделать это со старыми версиями Excel, но формула немного усложняется, чтобы показать правильные запятые в нужном месте. Я разделил на две формулы, чтобы было понятнее:
Первая формула - найти и записать заголовки (расположены в столбце E):
=+IF(COUNTIF(B6:D6,">"&0)>0,CONCATENATE(IF(B6>0,B$4&",",""),IF(C6>0,C$4&",",""),IF(D6>0,D$4,"")),"")
Второй способ заключается в очистке запятых и предоставлении окончательного результата (находится в столбце F):
=+IF(RIGHT(E6,1)=",",LEFT(E6,LEN(E6)-1),E6)
Вы можете объединить оба в одно, но тогда трудно уточнить, что делает формула:
=+IF(RIGHT(IF(COUNTIF(B6:D6,">"&0)>0,CONCATENATE(IF(B6>0,B$4&",",""),IF(C6>0,C$4&",",""),IF(D6>0,D$4,"")),""),1)=",",LEFT(IF(COUNTIF(B6:D6,">"&0)>0,CONCATENATE(IF(B6>0,B$4&",",""),IF(C6>0,C$4&",",""),IF(D6>0,D$4,"")),""),LEN(IF(COUNTIF(B6:D6,">"&0)>0,CONCATENATE(IF(B6>0,B$4&",",""),IF(C6>0,C$4&",",""),IF(D6>0,D$4,"")),""))-1),IF(COUNTIF(B6:D6,">"&0)>0,CONCATENATE(IF(B6>0,B$4&",",""),IF(C6>0,C$4&",",""),IF(D6>0,D$4,"")),""))