Используйте следующую формулу, чтобы получить нужную строку в таблице для «Боба», которую затем можно заполнить для «Стив» и т. Д. (Затем вы можете использовать этот результат в формуле INDEX
, чтобы получить CMG и Вес). Обратите внимание, что вы должны зафиксировать его как формулу массива (ctrl
+ shift
+ enter
).
=MATCH("TRUETRUETRUE",($A$2:$A$12=B15)&IF(LEN($C$2:$C$12)>0,CHOOSE(MATCH($C$2:$C$12,$C$14:$D$14,0),CHOOSE(MATCH($D$2:$D$12,{">",">=","<","<="},0),$C15>$E$2:$E$12,$C15>=$E$2:$E$12,$C15<$E$2:$E$12,$C15<=$E$2:$E$12),CHOOSE(MATCH($D$2:$D$12,{">",">=","<","<="},0),$D15>$E$2:$E$12,$D15>=$E$2:$E$12,$D15<$E$2:$E$12,$D15<=$E$2:$E$12)),TRUE)&IF(LEN($F$2:$F$12)>0,CHOOSE(MATCH($F$2:$F$12,$C$14:$D$14,0),CHOOSE(MATCH($G$2:$G$12,{">",">=","<","<="},0),$C15>$H$2:$H$12,$C15>=$H$2:$H$12,$C15<$H$2:$H$12,$C15<=$H$2:$H$12),CHOOSE(MATCH($G$2:$G$12,{">",">=","<","<="},0),$D15>$H$2:$H$12,$D15>=$H$2:$H$12,$D15<$H$2:$H$12,$D15<=$H$2:$H$12)),TRUE),0)
РЕДАКТИРОВАТЬ У Тома Шарпа есть хорошее предложение использовать COUNTIFS, что позволит вам напрямую использовать логические операторы. Это приводит к более короткой, более простой формуле (вам все еще нужно зафиксировать ее как формулу массива):
=MATCH(4,IF($C$2:$C$12=$C$14,COUNTIFS(B15,A$2:A$12,C15,D$2:D$12&E$2:E$12)>0,1)+IF($F$2:$F$12=$C$14,COUNTIFS(B15,A$2:A$12,C15,G$2:G$12&H$2:H$12)>0,1)+IF($C$2:$C$12=$D$14,COUNTIFS(B15,A$2:A$12,D15,D$2:D$12&E$2:E$12)>0,1)+IF($F$2:$F$12=$D$14,COUNTIFS(B15,A$2:A$12,D15,G$2:G$12&H$2:H$12)>0,1),0)
По сути, для каждой строки вы проверяете каждое из правил для мотора и возраста, чтобы убедиться, что все четыре случая либо истинны, либо неприменимы.