sumproduct, если ячейка содержит определенное значение, дать все результаты, иначе только указанный результат - PullRequest
0 голосов
/ 16 февраля 2020

Моя проблема в том, что мне нужно сослаться на ячейку (A1), которая будет либо именем состояния, которое можно найти в столбце L, либо это может быть «Все состояния», которые я затем хочу включить во все результаты столбец L. Я не могу понять, как включить это.

=SUMPRODUCT(--(IF(A1="All States",Data!$L:$L,Data!$L:$L=A1)),Data!Q:Q)

Я хочу добавить еще несколько критериев, основанных на вышеизложенном, поэтому я не хочу go по пути погружения sumproduct в функции if, потому что формула быстро станет слишком неудобной.

1 Ответ

1 голос
/ 16 февраля 2020

У вас есть много вариантов. Используя вашу первоначальную формулу, я бы настроил ее на

(A)  =SUMPRODUCT((IF($A$1="All States",1,($L$2:$L$11=$A$1)))*($Q$2:$Q$11))  

Но это нужно будет ввести как формулу массива, поэтому вместо подтверждения ENTER вам нужно CONTROL + SHIFT + ENTER . Вы будете знать, что сделали все правильно, когда {} появится вокруг вашей формулы. Обратите внимание, что они не могут быть добавлены вручную.

Формула не типа массива, которая была бы быстрее, я полагаю, будет смотреть на ваши два варианта. Вы имеете дело либо с одним государством, либо со всеми государствами. Установите проверку IF, чтобы определить, нужно ли суммировать весь столбец Q или вам нужно найти одно значение из столбца Q. Я использовал следующую формулу:

(B)  =IF(A1="all states",SUM($Q$2:$Q$11),INDEX($Q$2:$Q$11,MATCH($A$1,$L$2:$L$11,0)))

Немного обмануть, но при этом упростить вещи, это добавить конечное состояние в конец списка в L и вызвать «Все состояния». В соответствующем ряду в Q место =sum(First Cell:Last Cell). Если вы сделаете это, то сможете использовать следующую формулу:

(C)  =SUMPRODUCT(($L$2:$L$12=$A$1)*($Q$2:$Q$12))

Это и другие варианты, просто подумал, что я покажу некоторые варианты.

Proof of concept

...