Sumif index и match & Google sheet - PullRequest
       1

Sumif index и match & Google sheet

0 голосов
/ 29 октября 2018

У меня возникла небольшая дилемма с использованием функции «Индекс индекса и сопоставление» при использовании нескольких таблиц. (в Google Sheets) В основном, я хочу сделать следующее:

В качестве примера я использую простую таблицу - я хочу подсчитать общую сумму значений с одинаковыми описаниями (например, A, B и т. Д.) Для разных таблиц. Если я использую «=SUMIF($D$2:D$10,"A",Index($D$2:$E$10,Match("A",$D$2:$D$10,0),2))» для A, где для [строки] используется Match, A дает правильный ответ, но B, C и т. Д. Неверные.

С другой стороны, когда я использую "=SUMIF($D$2:D$10,"B",Index($D$2:$E$10,0,Match("B",$D$2:$D$10,0)))", где для [столбец] используется совпадение, B верен, но все остальное неверно.

Я не уверен, где моя ошибка и почему я не могу заставить формулу работать для всех переменных? И затем по всем таблицам тоже. Пожалуйста, помогите: D enter image description here

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Я бы предложил вам использовать вместо этого запрос! = запрос (D: E, «выберите D, сумма (E) группа по D») должен работать. И тогда вам не понадобятся отдельные формулы для каждого вопроса.

0 голосов
/ 30 октября 2018

Следующая формула

=SUMIF($D$2:D$10,"A",Index($D$2:$E$10,Match("A",$D$2:$D$10,0),2))

разрешается до

=SUMIF($D$2:D$10,"A",Index($D$2:$E$10,1,2))

, который в свою очередь разрешается до

=SUMIF($D$2:D$10,"A",$E$2)

Но в документации для Google листов и Excel говорится, что SUMIF должен называться следующим образом

SUMIF(range, criterion, [sum_range])

Так что же произойдет, если [sum_range] - это просто ссылка на ячейку, например $ E $ 2, а не диапазон? Ответ в том, что он расширен, чтобы соответствовать диапазону критериев, так что вы получите:

=SUMIF($D$2:D$10,"A",$E$2:E$10)

Это работает отлично, и вы получаете сумму строк в столбце E, где столбец D содержит "A".

Но что произойдет, если у вас есть

=SUMIF($D$2:D$10,"B",Index($D$2:$E$10,Match("B",$D$2:$D$10,0),2))

Это разрешается до

=SUMIF($D$2:D$10,"B",$E$3)

Итак, что вы сейчас получите, это

=SUMIF($D$2:D$10,"B",$E$3:$E$11)

который выглядит так

enter image description here

с чистым результатом, что вы получите строки в E3: E10, соответствующие тем в столбце D, которые содержат B. Это 2-я и 4-я строки, которые содержат 20 и 30, что дает вам в общей сложности 50.

Ответ на вторую часть вопроса таков: что-либо, кроме B в формуле

=SUMIF($D$2:D$10,"B",Index($D$2:$E$10,0,Match("B",$D$2:$D$10,0)))

не даст вам второй столбец D2: E10, поэтому он потерпит неудачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...