Here is a solution direct from your table. It's very complex though.
For People, use an Arrayed formula
Formula:
=IFERROR(INDEX(Sheet1!$A$2:$A$17,SMALL(IF(ISTEXT(INDEX(Sheet1!$B$2:$F$17,,MATCH($A$1,Sheet1!$B$1:$F$1,0))), IF(NOT(INDEX(Sheet1!$B$2:$F$17,,MATCH($A$1,Sheet1!$B$1:$F$1,0))="Vacation"), ROW(Sheet1!$B$2:$B$17)-ROW(Sheet1!$B$2)+1)),ROWS(Sheet1!$A$1:$A1))),"")
For Hours,
Formula:
=IFERROR(INDEX(Sheet1!$B$2:$F$17,SMALL(IF(ISTEXT(INDEX(Sheet1!$B$2:$F$17,,MATCH($A$1,Sheet1!$B$1:$F$1,0))), IF(NOT(INDEX(Sheet1!$B$2:$F$17,,MATCH($A$1,Sheet1!$B$1:$F$1,0))="Vacation"), ROW(Sheet1!$B$2:$B$17)-ROW(Sheet1!$B$2)+1)),ROWS(Sheet1!$A$1:$A1)),MATCH($A$1,Sheet1!$B$1:$F$1,0)),"")
See Attached.
Bookmarks