Это канонический вариант использования сводной таблицы.
Я создал для вас электронную таблицу в Google Sheets , которая демонстрирует эту концепцию. Вы можете загрузить лист в .xls или .xlsx, и он должен точно перевести сводную таблицу в формат Excel.
Достаточно взглянуть на лист "Сводная таблица 1". Он правильно использует COUNTA()
для обобщения данных. Самое приятное то, что столбцы и строки генерируются динамически на основе входных данных, и это не зависит от правильной сортировки входных данных.
Вы можете сделать это и с помощью функций рабочего листа, но чрезвычайно сложно воспроизвести все тонкости сводной таблицы без использования сводной таблицы:
- Столбцы автоматически создаются для каждого уникального значения в исходном столбце B. Это СУПЕР сложно сделать без использования сводной таблицы и в противном случае может потребоваться код VBA.
- Строки автоматически создаются для каждой уникальной даты, и вы можете выполнить пользовательскую сортировку строк в сводной таблице без изменения исходных данных.
- Если бы вам пришлось перейти от строковых значений ("Корова", "Кошка") к числовым значениям (7, 16, 556), вы могли бы изменить функцию агрегирования в сводной таблице с
COUNTA
на SUM
и очень легко суммировать данные вместо того, чтобы считать это. Это изменение было бы менее тривиальным, если бы вы вручную воспроизводили действия сводной таблицы с использованием функций рабочего листа.
В целом нет веских оснований не использовать сводные таблицы, когда они решают вашу проблему, поэтому вы должны научиться их использовать. Функции рабочего листа - неправильный подход к решению этой проблемы.
Вот пошаговое руководство, как сделать это в Excel 2016 (нажмите на изображение, чтобы увеличить его):
Несомненно, если вам нравится GIF и вы хотите узнать, как я это сделал, я использовал бесплатный инструмент ScreenToGif.