Hello,
I think this should work, I get then answers you expect (I think) for your sample:
In G6 I have =IFERROR((SMALL($B2:$E2,COUNTIF($B2:$E2,0)+1))," ")
In H6 I have = IFERROR((INDEX($B$1:$E$1,MATCH(SMALL($B2:$E2,COUNTIF($B2:$E2,0)+1),$B2:$E2, 0)))," ")
In I6 I have =IFERROR(IF(SMALL($B2:$E2,COUNTIF($B2:$E2,0)+2)=G2,SMALL($B2:$E2,COUNTIF($B 2:$E2,0)+3),SMALL($B2:$E2,COUNTIF($B2:$E2,0)+2)),"")
In J6 I have =IFERROR((INDEX($B$1:$E$1,MATCH(SMALL($B2:$E2,COUNTIF($B2:$E2,0)+2),$B2:$E2 , 0)))," ")
In K6 I have =IFERROR(IF(SMALL($B2:$E2,COUNTIF($B2:$E2,0)+3)=I2,SMALL($B2:$E2,COUNTIF($B 2:$E2,0)+4),SMALL($B2:$E2,COUNTIF($B2:$E2,0)+3)),"")
In L6 I have = IFERROR((INDEX($B$1:$E$1,MATCH(SMALL($B2:$E2,COUNTIF($B2:$E2,0)+3),$B2:$E2, 0)))," ")
Copy down as far as required.