Я бы попробовал написать нелетучую формулу, может быть, так:
Формула в C2
:
=SUM(IF(B2="",SUMIF(M$2:M$13,A2;O$2:O$13),IF(ISNUMBER(B2),SUMIFS(O$2:O$13,M$2:M$13,A2;N$2:N$13;B2),SUMIFS(O$2:O$13,M$2:M$13;A2,N$2:N$13,CHOOSE(MATCH(B2,{"EUROPE","BENELUX"},0),Europe,Benelux)))))
Введено как CSE
(что, кстати, устраняет необходимость в SUMPRODUCT
).
Я не уверен, почему вы все равно пытаетесь избежать IF
, поскольку он действительно может дать ясность пользователям того, что происходит, и это позволяет избежать ненужных Тяжелый расчет.
РЕДАКТИРОВАТЬ: Настоящим также сценарий, где у вас будет третий названный дальний холдинг все коды стран ( в настоящее время совпадает с "ЕВРОПА"):
Формула в C2
:
=SUM(IF(ISNUMBER(B2),SUMIFS(O$2:O$13,M$2:M$13,A2;N$2:N$13,B2),SUMIFS(O$2:O$13,M$2:M$13,A2,N$2:N$13,CHOOSE(MATCH(B2,{"EUROPE","BENELUX",0},0),Europe,Benelux,ALL))))
Также вводится как CSE
.
Это устранит необходимость в первой проверке на пустое значение с IF
и первой SUMIF
. Вместо этого он сопоставляет пустую ячейку (которая возвращает значение 0
) с предоставленным списком и выбирает соответствующий именованный диапазон.