Try this formula solution by,
1] Define 2 Names :
>> Select B17 >> Define Name >>
>> Name (1) : SumRgn
>> Refer to :
=INDEX($D$5:$I$10,MATCH($A17,$A$5:$A$10,0)+MATCH(LOOKUP("zz",$B$15:B$15),{"Onsite";"OffSite"},0)-1,0)
>>OK
And,
>> Name (2) : SumColor
>> Refer to :
=SUMPRODUCT(0+(GET.CELL(63,IF(1,+OFFSET(SumRgn,,COLUMN($D$4:$I$4)-MIN(COLUMN($D$4:$I$4)))))=GET.CELL(63,B$16)),SumRgn)
>>OK
2] In B17, formula copied across to G17 and all copied down :
=SumColor
p.s. : Get.Cell() is a Excel 4 Macro function, so you need to save file as Macro-Enable Workbook xlsm type.
Regards
Bosco