Как: макрос Excel 2003 для суммирования только видимых значений? - PullRequest
3 голосов
/ 13 декабря 2011

на данный момент у меня есть очень большая электронная таблица (40k + строки), данные включают столбцы для «имени», «даты» и «значения». Формат однороден. Я хочу иметь возможность суммировать все «значения» с одинаковыми «имя» и «дата». E.g.:

Name date value
peter 201103 7
pan 201103 9
felix 201104 9
peter 201104 12
peter 201104 17

Теперь я хочу суммировать значение для всех "peter" с датой "201104". Один из подходов - SUMFS, но он не в моем распоряжении (используется только Excel 2003). Еще одна вещь, которую я попытался, - сначала выполнить фильтрацию с помощью автофильтра ввода для даты, а затем использовать SUMIF для суммирования значений, если они имеют одинаковые имена. ПРОБЛЕМА: SUMIF также складывает невидимые ячейки. Лучше всего будет VBA подход. У кого-нибудь есть идея? Это было бы огромной помощью!

Спасибо за ваше время!

Ответы [ 3 ]

2 голосов
/ 13 декабря 2011

сделать сводную таблицу. Затем используйте страницу в качестве фильтра для Питера и 201104. Это самый быстрый способ получить ответ.

1 голос
/ 13 декабря 2011

Эта формула суммирует значения на основе нескольких критериев и пропускает отфильтрованные строки: =SUMPRODUCT(SUBTOTAL(109,OFFSET(C2:C6,ROW(C2:C6)-MIN(ROW(C2:C6)),,1,1))*(A2:A6="peter")*(B2:B6=201104))

Предполагается, что данные находятся в A1: C6.

Примечание: это формула массива - вместо простого нажатия клавиши Enter вам нужно нажать Ctrl + Shift + Enter. При правильном вводе вы увидите фигурные скобки вокруг формулы на панели формул.

0 голосов
/ 13 декабря 2011

Используйте функцию SUBTOTAL.При фильтрации агрегируются только отфильтрованные строки (в зависимости от указанной функции).

Следующее будет «СУММА» в диапазоне A1: 10.

=SUBTOTAL(9, A1:A10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...