
У меня есть такая таблица:
TABLE A
NAME VALUE 1 VALUE 2 RESULT
Daniel 1 4
John 3 5
Daniel 5 8
Мне нужно запустить SUMIF в столбце RESULT, который будет проверять указанные выше ячейки (используя OFFSET), и если условие выполняется, я бы хотел, чтобы оба (OFFSET) ЗНАЧЕНИЯ были добавлены. Я знаю, что могу добиться этого, выполнив два SUMIF, но я хотел бы узнать, возможно ли сделать это, используя только один, и затем сделать мой код более читаемым и быстрым. Я пробовал эти, но безуспешно:
SUMIF(OFFSET($A$2,0,0,ROW()-ROW($A$2),1), "Daniel", SUM(OFFSET($B$2,0,0,ROW()-ROW($B$2),1),OFFSET($C$2,0,0,ROW()-ROW($C$2),1)))
И:
IF(OFFSET($A$2,0,0,ROW()-ROW($A$2),1)="Daniel", SUM(OFFSET($B$2,0,0,ROW()-ROW($B$2),1),OFFSET($C$2,0,0,ROW()-ROW($C$2),1),0)
Результат должен быть:
TABLE A
NAME VALUE 1 VALUE 2 RESULT
Daniel 1 4 0
John 3 5 5
Daniel 5 8 5
John 1 5 18
решение1
Смещение не требуется, если не используются структурированные ссылки на таблицы:
=SUMIF($A$1:A1,"Daniel",$B$1:B1)+SUMIF($A$1:A1,"Daniel",$C$1:C1)
если вам нужна одна формула, то это будет формула массива:
=SUM(IF($A$1:A1="Daniel",$B$1:B1+$C$1:C1,0))
В зависимости от версии для выхода из режима редактирования может потребоваться использование сочетания клавиш Ctrl-Shift-Enter вместо Enter.
Если используются структурированные ссылки на настоящую таблицу, то да, смещение требуется:
=SUM(IF(OFFSET(Table2[[#Headers],[NAME]],,,ROW($ZZ1))="Daniel",OFFSET(Table2[[#Headers],[VALUE 1]],,,ROW($ZZ1))+OFFSET(Table2[[#Headers],[VALUE 2]],,,ROW($ZZ1)),0))
Опять же, в зависимости от версии, для выхода из режима редактирования может потребоваться использование сочетания клавиш Ctrl-Shift-Enter вместо Enter.