Альтернатива использованию LOOKUP()
, как в в этом ответе , не уверен, какое влияние это окажет на производительность, поскольку обоим нужно создать массив, но я бы сделал удар в темноте, что это меньшеисполнитель:
=INDEX($B$1:$G$1,,MAX((B2:G2<>0)*COLUMN(B2:G2)-1))
- Ctrl + Shift + Enter
Конечно, это можно отредактировать для двойного поискана клиента тоже:
=INDEX($B$1:$G$1,,MAX(INDEX(($B$2:$G$3<>0)*COLUMN($B$2:$G$3)-1,MATCH("Mr.B",$A$2:$A$3,0),0)))
Это не требует CSE, так как INDEX()
обрабатывает манипуляции с массивом