SUMIFS на отфильтрованных данных - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь сделать SUMIFS в листе Excel, где мне нужно учитывать отфильтрованные ячейки. Я могу выполнить sh это с помощью сводной таблицы, но те же исходные данные уже используются в нескольких пузырьковых диаграммах, которые в любом случае обновляются при фильтрации. Единственная причина для этой другой таблицы к данным должна быть агрегирована по-другому, чтобы получить желаемую диаграмму. Я стараюсь избегать сводных точек, чтобы, как только пользователь выбирал свои фильтры в исходной таблице (используя срезы), таблица назначения и сопровождающая диаграмма просто обновлялись. Если я использую сводную таблицу для обработки этой части, пользователю придется дублировать работу, помещая свои параметры в срезы и сводную таблицу.

Row# в реальных данных - это уникальный идентификатор для каждой строки. Для фильтрации есть примерно 20 столбцов, которые можно отфильтровать.

Я видел, что SUMPRODUCT может это сделать, но я не могу понять, как это сделать с моим набором данных.

Пример таблицы источника

+------+---------------+-------+-------+-------+---------+----------+
| Row# |    Amount     | Class |Channel| Other | Columns | ToFilter |
+------+---------------+-------+-------+-------+---------+----------+
|    1 |  $122,616.16  |    10 | A     | Stuff | Stuff   | Stuff    |
|    2 |  $128,587.43  |     1 | B     | Stuff | Stuff   | Stuff    |
|    3 |  $273,055.04  |    10 | C     | Stuff | Stuff   | Stuff    |
|   25 |  $144,087.59  |     4 | A     | Stuff | Stuff   | Stuff    |
|   26 |  $273,537.45  |     2 | A     | Stuff | Stuff   | Stuff    |
|   27 |  $110,177.94  |     2 | B     | Stuff | Stuff   | Stuff    |
| 3674 |  $455,133.20  |     2 | C     | Stuff | Stuff   | Stuff    |
+------+---------------+-------+-------+-------+---------+----------+

Пример таблицы назначения

+---------+---------------+---------------+--------+---------------+-----+---------------+
| Channel |       1       |       2       |   3    |       4       |  ~  |      10       |
+---------+---------------+---------------+--------+---------------+-----+---------------+
| A       |  $-           |  $273,537.45  |  $-    |  $144,087.59  |  ~  |  $122,616.16  |
| B       |  $128,587.43  |  $110,177.94  |  $-    |  $-           |  ~  |  $-           |
| C       |  $-           |  $455,133.20  |  $-    |  $-           |  ~  |  $273,055.04  |
+---------+---------------+---------------+--------+---------------+-----+---------------+

1 Ответ

0 голосов
/ 05 февраля 2020

Предполагая, что исходная таблица находится в A1: G8, а таблица назначения находится в A10: K13.

Put '= IFERROR (INDEX ($ C $ 2: $ C $ 8, MATCH (1, INDEX ((B $ 10 = $ D $ 2: $ D $ 8) * ($ A11 = $ E $ 2: $ E $ 8), 0,1), 0)), "-") `в B11 и перетащите до конца.

Идея: использовать индекс соответствия нескольких критериев и обернуть его в iferror (). $ используется для блокировки ссылочного столбца / строки.

Ссылка: https://exceljet.net/formula/index-and-match-with-multiple-criteria

Пожалуйста, поделитесь, работает или нет. (:

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