Сумма несмежных столбцов на основе критериев Excel - PullRequest
2 голосов
/ 04 октября 2019

Мне нужно иметь возможность суммировать значения в несмежных столбцах (т. Е. D и E), используя критерии, основанные на другом столбце. enter image description here

I Найден недавнона форуме excel ответ на вопрос: «Как сложить несколько столбцов на основе критериев ...».

На основе формулы =SUMPRODUCT((A4:A9="Football")\*(B4:D9)) результат для «Футбол» равен 24.

Что мне нужно знать, так это то, что существует способ расчета суммы только для столбцов [B] и [D] - (B4: B9) + (D4: D9), избегая использования формулы ниже:

=SUMPRODUCT((A4:A9="Football")\*(B4:B9))+SUMPRODUCT((A4:A9="Football")\*(D4:D9))

В этом случае результат для "Футбола" будет: (4 + 2) + (1 + 2) + (1 + 3) = 13.

большое спасибо заранее

Леопольдо Фернандес

Ответы [ 3 ]

2 голосов
/ 04 октября 2019

В моде, которую вы пробуете с SUMPRODUCT, это будет выглядеть так:

=SUMPRODUCT((A4:A9="Football")*(B4:B9+D4:D9))

И еще один способ исключить определенный столбец из диапазона B4:D9 может быть:

=SUMPRODUCT((A4:A9="Football")*(COLUMN(B4:D9)<>3),B4:D9)

Но другой (возможно, лучший способ) будет использовать несколько SUMIF:

=SUMIF(A4:A9,"Football",B4:B9)+SUMIF(A4:A9,"Football",D4:D9)

РЕДАКТИРОВАТЬ:

Чтобы объяснить вторую формулу;он сначала проверяет столбец A на соответствие вашему поисковому значению, возвращая массив значений TRUE и FALSE. Затем мы проверяем наш диапазон значений B4:D9 (может также сделать это B4:D4) и возвращаем TRUE в матрицу, только если это не столбец № 3. Теперь мы создали нашу матрицу, второй параметр может быть полнымдиапазон, так что SUMPRODUCT знает, какие значения выбрать и добавить.

enter image description here

Как видите, формула возвращает мне 13, а не 15.

1 голос
/ 04 октября 2019

Вы также можете попробовать это:

=SUMPRODUCT((A2:A7="Football")*B2:D7*ISNUMBER(FIND(B1:D1,"Week1|Week3")))

Формула должна быть скорректирована, если заголовок одного столбца может быть подстрокой другого:

=SUMPRODUCT((A2:A7="Football")*B2:D7*ISNUMBER(FIND("|"&B1:D1&"|","|Week1|Week3|")))

Это потенциально немногоболее общий, потому что вы можете указать несколько заголовков столбцов.

0 голосов
/ 05 октября 2019

Solution

Мой подход по сути такой же, как и второй подход, предоставленный JvdV.

=SUMPRODUCT((A4:A9="Football")*(B3:D3<>"Week 2")*B4:D9)

Приветствия:)

...