Обработка больших данных в microsoft excel

Время на прочтение
3 мин

Количество просмотров 4.7K

Всем привет! Меня зовут Сергей Коньков — я работаю архитектором в компании CloudReports. Сегодня я расскажу, как мы создали продукт, который помогает пользователям работать с данными и в какой-то мере соединяет два мира аналитики: Excel и облачные хранилища данных.

Задача

BigQuery и другие аналитические хранилища в сочетании с современными BI инструментами перевернули работу с данными за последние годы. Возможность обрабатывать терабайты информации за секунды, интерактивные дашборды в DataStudio и PowerBI, сделали работу очень комфортной.

Однако если посмотреть глубже, можно увидеть — выиграли от этих изменений в основном профессионалы, владеющие SQL и Python и бизнес пользователи на руководящих позициях, для которых разрабатываются дашборды.
А как быть с сотнями миллионов сотрудников, для которых главным инструментом анализа был и остается Microsoft Excel? Они в каком-то смысле, остались за бортом новых изменений. Это менеджеры по продажам, владельцы малого бизнеса, руководители небольших отделов. Освоить PowerBI у них нет времени. Все что им остается это экспортировать данные из отчетов в свой любимый Excel и продолжить работу там, но это не очень удобно, занимает время и есть ограничения по объему данных.

Мы часто наблюдаем, как наши клиенты использующих Google BigQuery загружают данные в Excel с помощью различных коннекторов, натыкаясь на ограничения. И родилась идея: если Excel не теряет популярности, а данные уходят в облака, то давайте придумаем способ как помочь пользователю работать из Excel с облаком.

Вспоминаем OLAP

Да, сегодня Excel по-прежнему самый популярный инструмент для работы с информацией в мире. А Сводная таблица, это то что используют миллионы пользователей каждый день. А раньше было еще больше. Если вы работали с данными в крупной компании десять лет назад вы наверняка слышали про технологию OLAP кубов от Microsoft и других вендоров, которые создаются поверх реляционных SQL баз, и позволяют получать результаты обработки миллионов строк данных за секунды. Самым популярным способом работы с OLAP кубами была и есть сводная таблица Excel. К слову OLAP по прежнему очень распространен в корпоративном мире, это все так же часть Microsoft SQL Server, однако имеет ряд ограничений по объемам и скорости обработки и все больше уступает рынок облачным аналитическим хранилищам.

Так вот в решении этой задачи нам поможет OLAP. Как я уже писал выше в Excel есть готовый клиент для работы с OLAP, мы будем использовать его.

Kогда Microsoft выводил на рынок данную технологию был опубликован открытый протокол для работы с OLAP базами — XMLA (XML для аналитики). Именно этот протокол и использует Excel когда подключается к OLAP серверу. Все работает примерно так:

Решение

Идея проста — вместо OLAP сервера мы сделаем Python приложение , которое будет делать следующее:

  • принимать XMLA запросы от Excel

  • конвертировать логику XMLA запроса в SQL код

  • отправлять SQL запрос в BigQiery

  • полученный от BigQuery ответ конвертировать в XMLA и отправлять обратно в Excel

Данное приложение (App) можем опубликовать в облаке, так как Excel имеет возможность отправлять запросы XMLA запросы по протоколу HTTPS. Все будет работать примерно так:

Использование

После того как мы разработали и опубликовали приложение, администратору BigQuery для начала использования достаточно просто создать таблицу и определить для соответсnвующих полей типы агрегации (сумма, минимум, максимум и т.д.). Далее пользователь в Excel используя подключение к службам аналитики (OLAP) соединяется с нашим сервисом:

После этого мы получаем доступ к таблице BigQuery непосредственно из сводной таблицы. И можем легко «играть» с данными.

Кроме того, мы реализовали в данном сервисе слой кэширования данных для ускорения запросов и экономии затрат на BigQuery.

Что дальше

Сейчас мы активно тестируем сервис на своих клиентах и думаем над добавлением нового функционала.

Например, SQL запросы наряду с BigQuery поддерживают и другие облачные хранилища данных. Добавив один класс в наше приложение мы реализовали аналогичный механизм для ClickHouse. Скоро будет готова версия для Snowflake и Amazon Redshift.

Будем рады услышать вопросы и мнение коллег в комментариях.

Подробности
Создано 13 Июль 2011
Содержание
Описание примеров
Применение метода
Суммирование по одному ключевому полю
Суммирование по нескольким критериям
Поиск по одному критерию
Поиск по нескольким критериям
Выборка по одному критерию
Выборка вариантов
Заключение

Одним из самых популярных методов использования электронных таблиц является обработка данных, полученных из учетных систем. Современные базы данных, используемые учетными системами в качестве хранилища информации, способны накапливать и обрабатывать в собственных структурах десятки, а иногда сотни тысяч информационных записей в день. Средства анализа в системах управления базами данных реализуются либо на программном уровне, либо через специальные интерфейсы и языки запросов. Электронные таблицы позволяют эффективно обработать данные без знания языков программирования и других технических средств.

Методы переноса данных в Excel могут быть различны:

  • Копирование-вставка результатов запросов
  • Использование стандартных процедур импорта (например, Microsoft Query) для формирования данных на рабочих листах
  • Использование программных средств для доступа к базам данных с последующим переносом информации в диапазоны ячеек
  • Непосредственный доступ к данным без копирования информации на рабочие листы
  • Подключение к OLAP-кубам

Данные, полученные из учетных систем, обычно характеризуются большим объемом – количество строк может составлять десятки тысяч, количество столбцов при этом часто невелико, так как языки запросов к базам данным сами имеют ограничение на одновременно выводимое количество полей.

Обработка этих данных в Excel может вестись различными методами. Выделим основные способы работы:

  1. Обработка данных стандартными средствами интерфейса Excel
  2. Анализ данных при помощи сводных таблиц и диаграмм
  3. Консолидация данных при помощи формул рабочего листа
  4. Выборка данных и заполнение шаблонов для получения отчета
  5. Программная обработка данных

Правильность выбора способа работы с данными зависит от конкретной задачи. У каждого метода есть свои преимущества и недостатки.

В данной статье будут рассмотрены способы консолидации и выборки данных при помощи стандартных формул Excel. 

Описание примеров

Примеры к статье построены на основе демонстрационной базы данных, которую можно скачать с сайта Microsoft

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=19704

Выгруженный из этой базы данных набор записей сформирован при помощи Microsoft Query.

Данные не несут специальной смысловой нагрузки и используются только в качества произвольного набора записей, имеющих несколько ключевых полей.

Файл nwdata_sums.xls используется для версий Excel 2000-2003

Файл nwdata_sums.xlsx имеет некоторые отличия и используется для версий Excel 2007-2010.

Первый лист data содержит исходные данные, остальные – примеры различных формул для обработки информации.

Ячейки, окрашенные в серый цвет, содержат служебные формулы. Ячейки желтого цвета содержат ключевые значения, которые могут быть изменены.

Применение метода

Очевидно, самым простым и удобным методом обработки больших объемов данных с точки зрения пользователя являются сводные таблицы. Этот интерфейс специально создавался для подобного рода задач, способен работать с различными источниками данных, поддерживает интерфейсные методы фильтрации, группировки, сортировки, а также автоматической агрегации данных различными способами.

Проблема при консолидации данных при помощи сводных таблиц появляются, если предполагается дальнейшая работа с этими агрегированными данными. Например, сравнить или дополнить данные из двух разных сводных таблиц (как вариант: объемы продаж и прайс листы). В таком случае обычно прибегают к методу копирования значений из сводных таблиц в промежуточные диапазоны с дальнейшим применением формул поиска (VLOOKUP/HLOOKUP). Очевидно, что проблема возникает при обновлении исходных данных (например, при добавлении новых строк) – требуется заново копировать результаты консолидации из сводной таблицы. Другим, с нашей точки зрения, не совсем корректным методом решения является применение функций поиска непосредственно к диапазонам, которые занимают сводные таблицы. Это может привести к неверному поиску при обновлении не только данных, но и внешнего вида сводной таблицы.

Еще один классический пример непригодности применения сводной таблицы – это требование формирования отчета в заранее предопределенном виде («начальство требует в такой форме и никак иначе»). Возможностей настройки сводной таблицы зачастую недостаточно для предоставления произвольной формы. В данном случае пользователи также обычно используют копирование результатов агрегирования в качестве значений.

Самым правильным методом обработки данных в приведенных случаях, с нашей точки зрения, является применение функций рабочего листа для консолидации данных. Этот метод требует иногда больших затрат времени на создание формул, но зато в дальнейшем при изменении исходных данных отчеты будут обновляться автоматически. Файлы примеров показывают различные варианты применения функция рабочего листа для обработки данных.

Суммирование по одному ключевому полю

Таблицы с формулами на листе SUM показывают вариант решения задачи консолидации данных по одному ключевому значению.

Две верхние таблицы на листе демонстрируют возможности стандартной функции SUMIF, которая как раз и предназначена для суммирования с проверкой одного критерия.

SUM!B5

=SUMIF(data!$H:$H;A5;data!$M:$M) 

SUM!B11

=SUMIF(data!$Z:$Z;A11;data!$M:$M) 

Нижние таблицы показывают возможности другой редко используемой функции DSUM

SUM!B19

=DSUM(data!$A$1:$AJ$2156;"Quantity";D18:D19) 

Первый параметр определяет рабочий диапазон данных. Причем верхняя строка диапазона должна содержать заголовки полей. Второй параметр указывает наименование поля (столбца) для суммирования. Третий параметр ссылается на диапазон условий суммирования. Этот диапазон должен состоять как минимум из двух строк, верхняя строка – поле критерия, вторая и последующие — условия.

В другом варианте указания условий именем поля в этом диапазоне можно пренебречь, задав его прямо в тексте условия:

SUM!B28

=DSUM(data!$A$1:$AJ$2156;"Quantity";D27:D28)

SUM!D28

Здесь data!Z2 означает ссылку на текущую строку данных, а не на конкретную ячейку, так как используется относительная ссылка. К сожалению, нельзя указать в третьем параметры ссылку на одну ячейку – строка заголовка полей все равно требуется, хотя и может быть пустой.

В принципе, функции типа DSUM являются устаревшим методом работы с данными, в подавляющем большинстве случаев лучше использовать SUMIF, SUMPRODUCT или формулы обработки массивов. Но иногда их применение может дать хороший результат, например, при совместном использовании с интерфейсной возможностью «расширенный фильтр» – в обоих случаях используется одинаковое описание условий через дополнительные диапазоны.

Суммирование по нескольким критериям

Таблицы с формулами на листе SUM2 показывают вариант суммирования по нескольким критериям.

Первый вариант решения использует дополнительно подготовленный столбец обработанных исходных данных. В реальных задачах логичнее добавлять такой столбец с формулами непосредственно на лист данных.

SUM!D5

=SUMIF(A:A;B5 & ";" & C5;data!M:M) 

Операция «&» используется для соединения строк. Можно также вместо этого оператора использовать функцию CONCATENATE. Промежуточный символ «;» (или любой другой служебный символ) необходим для обеспечения уникальности сцепленных строковых значений.

Пример: Есть, если два поля с перечнем слов. Пары слов «СТОЛ»-«ОСЬ» и «СТО»-«ЛОСЬ» дают одинаковый ключ «СТОЛОСЬ». Что соответственно даст неверный результат при консолидации данных. При использовании служебного символа комбинации ключей будут уникальны «СТОЛ;ОСЬ» и «СТО;ЛОСЬ», что обеспечит корректность вычислений.

Использовать подобную методику создания уникального ключа можно не только для строковых, но и для числовых целочисленных полей.

Второй пример – это популярный вариант использования функции SUMPRODUCT с проверкой условий в виде логического выражения:

SUM!D13

=SUMPRODUCT((data!$H$2:$H$3000=B13)*(data!$Z$2:$Z$3000=C13)*data!$M$2:$M$3000) 

Обрабатываются все ячейки диапазона (data!$M$2:$M$3000), но для тех ячеек, где условия не выполняются, в суммирование попадает нулевое значение (логическая константа FALSE приводится к числу «0»). Такое использование этой функции близко по смыслу к формулам обработки массива, но не требует ввода через Ctrl+Shift+Enter.

Третий пример аналогичен, описанному использованию функций DSUM для листа SUM, но в нем для диапазона условий использовано несколько полей.

SUM!D21

=DSUM(data!$A$1:$AJ$2156;"Quantity";F20:G21) 

Четвертый пример – это использование функций обработки массивов.

SUM!D32

{=SUM(IF(data!$H$2:$H$3000=B32;IF(data!$Z$2:$Z$3000=C32;data!$M$2:$M$3000)))} 

Обработка массивов является самым гибким вариантом проверки условий. Но имеет очень сложную запись, трудно воспринимается пользователем и работает медленнее стандартных функций.

Пятый пример содержится только в файле формата Excel 2007 (xlsx). Он показывает возможности новой стандартной функции

SUMIFS

SUM!D40

=SUMIFS(data!$M$2:$M$3000;data!$H$2:$H$3000;B40;data!$Z$2:$Z$3000;C40) 

Поиск по одному критерию

Таблицы с формулами на листе SEARCH предназначены для поиска по ключевому полю с выборкой другого поля в качестве результата.

Первый вариант – это использование популярной функции VLOOKUP.

SEARCH!B5

=VLOOKUP(A5;data!$H$1:$M$3000;6;0) 

Во втором вариант использовать VLOOKUP нельзя, так как результирующее поле находится слева от искомого. В данном случае используется сочетание функций MATCH+OFFSET.

SEARCH!C13

=MATCH(A13;data!$Z$1:$Z$3000;0) 

SEARCH!B13

=OFFSET(data!$M$1;C13-1;0) 

Первая функция ищет нужную строку, вторая возвращает нужное значение через вычисляемую адресацию.

Поиск по нескольким критериям

Таблицы с формулами на листе SEARCH2 предназначены для поиска по нескольким ключевым полям.

В первом варианте используется техника использования служебного столбца, описанная в примере к листу SUM2:

SEARCH2!Е5

=VLOOKUP(C5 & ";" & D5;$A$1:$B$3000;2;0) 

Второй вариант работы сложнее. Используется обработка массива, который образуется при помощи функций вычисляемой адресации:

SEARCH2!Е 12

{=OFFSET(data!$M$1;MATCH(C13 & ";" & D13; data!$H$1:$H$3000 & ";" & data!$Z$1:$Z$3000;0)-1;0)} 

Четвертый и пятый параметр в функции OFFSET используется для образования массива и определяет его размерность в строках и столбцах.

Выборка по одному критерию

Таблица на листе SELECT показывает вариант фильтрации данных через формулы.

Предварительно определяется количество строк в выборке:

SELECT!С4

=COUNTIF(data!$H:$H;$A$5) 

Служебный столбец содержит формулы для определения номеров строк для фильтра. Первая строка ищется через простую функцию:

SELECT!С5

=MATCH($A$5;data!$H$1:$H$3000;0) 

Вторая и последующие строки ищутся в вычисляемом диапазоне с отступом от предыдущей найденной строки:

SELECT!С6

=MATCH($A$5;OFFSET(data!$H$1;C5;0; ROWS(data!$H$1:$H$3000)-C5;1);0)+C5

Результат выдается через функцию вычисляемой адресации:

SELECT!B6

=IF(ISNA(C6);"";OFFSET(data!$M$1;C6-1;0)) 

Вместо функции проверки наличия ошибки ISNA можно сравнивать текущую строку с максимальным количеством, так как это сделано в столбце A.

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

Выборка вариантов

Самый сложный вариант выборки по ключевому полю представлен на листе SELECT2. Формулы сами определяют все доступные ключевые значения второго критерия.

Первый служебный столбец содержит сцепленные строки ключевых полей. Второй столбец проверяет соответствие первому ключу и оставляет значение второго ключевого поля:

SELECT2!B2

=IF(LEFT(A2;LEN($D$5)) & ";" = $D$5 & ";"; data!Z2;"") 

Третий служебный столбец проверяет значение второго ключа на уникальность:

SELECT2!C2

=IF(B2="";0;IF(ISNA(MATCH(B2;B$1:B1;0));COUNTIF(C$1:C1;">0")+1;0)) 

Результирующий столбец второго ключа ProductName ищет уникальные значения в служебном столбце C:

SELECT2!E5

=IF(ISNA(MATCH(ROWS($5:5);$C$1:$C$3000;0));"";OFFSET($B$1;MATCH(ROWS($5:5);$C$1:$C$3000;0)-1;0)) 

Столбец Quantity просто суммирует данные по двум критериям, используя технику, описанную на листе SUM2.

SELECT2!F5

=IF(E5="";"";SUMPRODUCT((data!$H$2:$H$3000=D5)*(data!$Z$2:$Z$3000=E5)*data!$M$2:$M$3000)) 

Заключение

Использование функций рабочего листа для консолидации и выборки данных является эффективным методом построения отчетов с обновляемым источником исходных данных. Недостатками этого метода являются повышенные требования к пользователю в части создания сложных формул, а также низкая производительность в сравнении, например, со сводными таблицами. Последний недостаток зависит от объема исходных данных, сложности формул консолидации и технических возможностей компьютера. В критических случаях рекомендуется использовать ручной режим пересчета формул рабочей книги Excel.

Смотри также

» Работа с ненормализированными данными

В приложении к статье файл с простой задачей суммирования диапазона по различным условиям.  Как ни странно, подобные задачи…

» Простые формулы

В приложенном файле несколько примеров использования простых функций Excel нестандартным способом.

» Обработка больших объемов данных. Часть 3. Сводные таблицы

Третья статья, посвященная обработке больших объемов данных с помощью Excel, описывает преимущества использования сводных таблиц….

» Обработка больших объемов данных. Часть 2. Интерфейс

В статье систематизируются простые приемы обработки больших объемов данных при помощи стандартных методов интерфейса Excel. Информация…

» Суммирование несвязанных диапазонов

При обработке больших таблиц иногда возникает потребность получить итоговые значения на основе данных, расположенных в диапазонах…

Содержание

MS Excel

27 сентября, 2017

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных.

photo59cbb1a7bff02.jpg

Любой сотрудник компании, работающий в отделе продаж, финансов, маркетинга, логистики, сталкивается с необходимостью работать с данными, анализировать их.

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных. 0

Excel — незаменимый помощник для достижения этих целей. Мы импортируем информацию, «подтягиваем» ее, систематизируем. На ее основе строим диаграммы, сводные таблицы, планируем, прогнозируем.

Однако в Excel до недавнего времени было 2 важных ограничения:

иконка 1

Мы не могли разместить на рабочем листе Excel более миллиона строк (а наши данные о продажах за 2 года занимают, например, 10 млн строк).

иконка 2

Мы знали, как создать и настроить интерактивные и обновляемые отчеты, но это отнимало много времени.

Единственный инструмент в Excel — сводные таблицы — позволял быстро обрабатывать наши данные.

С другой стороны, есть категория пользователей, которые работают со сложными BI-системами. Это системы бизнес-аналитики (business intelligence), которые дают возможность быстро визуализировать, «крутить» данные и извлекать из них ценную информацию (data mining). Однако внедрение и поддержка таких систем требует значительного участия IT-специалистов и больших финансовых вложений.

До Excel 2010 было четкое разделение на анализ малого и большого объема данных: Excel с одной стороны и сложные BI-системы — с другой.

Начиная с версии 2010, в Excel добавили инструменты, в названиях которых присутствует слово power: Power Query, Power Pivot и Power View. Они позволили сгладить грань между пользователями Excel и комплексных BI-систем.

Power Query

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

Для этого и необходим Power Query. До версии Excel 2013 включительно этот инструмент был в виде надстройки, которую можно было установить бесплатно с сайта Microsoft.

В версии 2016 это уже встроенный в программу инструментарий, находящийся на вкладке «Данные» (Data) в разделе «Скачать и преобразовать» (Get and Transform).

Перечень источников информации, к которым можно подключаться — огромный: от баз данных (их в последней версии 10) до Facebook и Google таблиц (рис. 1).

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных. 1

Рис 1. Выбор источника данных в Power Query

Вот некоторые возможности Power Query по подготовке и преобразованию данных:

иконка 1

отбор строк и столбцов, создание пользовательских (вычисляемых) столбцов

иконка 2

преобразование данных с помощью числовых, текстовых функций, функций даты и времени

иконка 3

транспонирование таблицы, разворачивание по столбцам (Pivot) и наоборот — сворачивание данных, организованных по столбцам, в построчный вид (Unpivot)

иконка 4

объединение нескольких таблиц: как вниз — одну под другую, так и связывание по общей колонке (единому ключу)

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных. 2

Рис 2. Окно редактора Power Query

Ну и конечно, после выгрузки подготовленных данных в Excel они будут автоматически обновляться, если в источнике данных появятся новые строки.

Пример

Компания в своей аналитике использует текущие курсы трех валют, которые ежедневно обновляются на сайте Национального банка.

Таблица на сайте непригодна для прямого использования (рисунок 2-1):    

иконка 1

все валюты не нужны

иконка 2

в колонке «Курс» в качестве разделителя целой и дробной частей используется точка (в наших региональных настройках — запятая)

иконка 3

в колонке «Курс» отображается показатель за разное количество единиц валюты: за 100, за 1000 и т. д. (указано в отдельной колонке «Количество единиц»)

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных. 3

Рис. 2-1. Так выглядит таблица с курсами валют на сайте Нацбанка.

С помощью Power Query мы подключаемся к таблице текущих курсов валют на сайте НБУ и в этом редакторе готовим запрос на извлечение данных:

иконка 1

В колонке «Курс» меняем точку на запятую (инструмент «Замена значений»).

иконка 2

Создаем вычисляемый столбец, в котором курсы валют в колонке «Курс» делятся на количество единиц валюты из колонки «Количество единиц».

иконка 3

Удаляем лишние столбцы и оставляем только строки валют, с которыми работаем.

иконка 4

Выгружаем полученную таблицу на рабочий лист Excel.

Результат показан на рисунке 2-2.

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных. 4

Рис. 2-2. Так выглядит результирующая таблица в нашем Excel файле.

Курсы валют на сайте Нацбанка меняются каждый день. Но при обновлении данных в документе Excel наш, один раз подготовленный, запрос пройдет через все шаги, и результирующая таблица всегда будет в нужном виде, но уже с актуальными курсами.

Power Pivot

У вас данные находятся в разрозненных источниках? Некоторые таблицы содержат больше 1 млн строк? Вам нужно все это объединить в одну модель данных и анализировать с помощью, например, сводной таблицы Excel? Здесь понадобится Power Pivot — надстройка Excel, которая по умолчанию включена в версии Pro Plus и выше (начиная с версии 2010).

В Power Pivot вы можете добавлять данные из разных источников, связывать таблицы между собой (рисунок 3). Таблицы при этом не обязательно должны находиться на рабочих листах Excel. Вместо этого они по-прежнему будут храниться в файле Excel, но просматривать их можно в окне Power Pivot (рис. 4). Поэтому нет ограничения на количество строк — в вашем файле Excel могут находиться таблицы и в сотни миллионов строк.

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных. 5

Рис. 3. Окно Power Pivot в представлении диаграммы

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных. 6

Рис. 4. Окно Power Pivot в представлении данных

Вот некоторые возможности Power Pivot, помимо описанных выше:

иконка 1

добавлять вычисляемые столбцы и поля (меры), в том числе основанные на расчетах из нескольких таблиц

иконка 2

создавать и мониторить в сводной таблице ключевые показатели эффективности (KPI)

иконка 3

создавать иерархические структуры (например, по географическому признаку — регион, область, город, район)

И обрабатывать все это с помощью сводной таблицы Excel, построенной на модели данных.

Пример. У предприятия в базе данных (или отдельных файлах Excel) в 5 таблицах хранится информация о продажах, клиентах, товаре и его классификации, менеджерах по продажам и закупочных ценах продукции. Необходимо провести анализ по объемам продаж и маржинальности по менеджерам.

С помощью Power Pivot:

иконка 1

добавляем все 5 таблиц в модель данных

иконка 2

связываем таблицы по общим ключам (столбцам)

иконка 3

в таблице «Продажи» создаем вычисляемый столбец «Продажи в закупочных ценах», умножив количество штук из таблицы «Продажи» на закупочную цену из таблицы «Цена закупки»

иконка 4

создаем вычисляемое поле (меру) «Маржа»

иконка 5

с помощью инструмента «Ключевые показатели эффективности» устанавливаем цель по маржинальности и настраиваем визуализацию — как выполнение цели будет визуализироваться в сводной таблице

Теперь можно «крутить» эти данные в сводной таблице или в отчете Power View (следующий инструмент) и анализировать маржинальность по товарам, менеджерам, регионам, клиентам.

Power View

Иногда сводная таблица — не лучший вариант визуализации данных. В таком случае можно создавать отчеты Power View. Как и Power Pivot, Power View — это надстройка Excel, которая по умолчанию включена в версии Pro Plus и выше (начиная с версии 2010).

В отличие от сводной таблицы, в отчет Power View можно добавлять диаграммы и другие визуальные объекты. Здесь нет такого количества настроек, как в диаграммах Excel. Но в том то и сила инструмента — мы не тратим время на настройку, а быстро создаем отчет, визуализирующий данные в определенном разрезе.

Вот некоторые возможности Power View:

иконка 1

— быстро добавлять в отчет таблицы, диаграммы (без необходимости настройки)

иконка 2

организовывать срезы и фильтры

иконка 3

уходить на разные уровни детализации данных

иконка 4

добавлять карты и располагать на них данные

иконка 5

создавать анимированные диаграммы

Пример отчета Power View — на рисунке 5.

Евгений Довженко о том, как можно эффективно работать даже с огромными массивами данных. 7

Рис. 5. Пример отчета Power View

Даже самые внушительные массивы данных можно систематизировать и визуализировать — главное не ограничиваться поверхностными возможностями Excel, а брать из его функций все возможное.

Хотите получать дайджест статей?

Одно письмо с лучшими материалами за неделю. Подписывайтесь, чтобы ничего не упустить.

Спасибо за подписку!

Курс по теме:

«Advanced Excel»

Программы


Ведет
Никита
Свидло

Shell

16 мая
13 июня

Никита Свидло

Excel открывает большие возможности в обработке массива цифр и строк. Сегодня мы разберем, как в excel обработать большой объем данных. В этой части мы не будем разбирать макросы. Цель этой статьи — научиться работать с самыми доступными и простыми формулами excel, которые помогут выполнить нашу работу в большинстве случаев.

Статья будет разделена на 2 части. Содержание первой части, представлена ниже. Начнем без теории. Вряд ли она вам интересна.

Содержание:

  • Как в excel найти повторяющееся значение
  • Как в excel быстро удалить дублирующиеся строки
  • Работа со сводной таблицей в excel
  • Как в excel «подтянуть» данные из другого листа или файла
  • Что такое функции правсимв и левсимв и как их применять

Как в excel найти повторяющееся значение

В своде данных мы можем столкнуться с проблемой, когда нам нужно из большого количества строк быстро найти повторяющиеся строки. Ведь в одной строке может быть одно значение, а во второй, по такому же наименованию товара, дубль или другое значение.

Возьмем таблицу. В столбец Е ставим равно и затем, в поиске «Другие функции» ищем нужную нам формулу (см. рис 1)

kak-v-excel-obrabotat-bolshoj-obem-dannyh

Рис 1. Поиск формулы

Для поиска повторяющегося значения, в данном случае, в коде товара по столбцу А, мы будем пользоваться простой формулой  = СЧЕТЕСЛИ

kak-v-excel-obrabotat-bolshoj-obem-dannyh

Рис 2 . Формула СЧЕТЕСЛИ

Выделяем весь столбец «А», и в диапазоне аргументов функций ( маленькое голубое окошко посреди экрана), у нас появляется А:А, то есть весь выделенный диапазон по этому столбцу. см. рис 3.

kak-v-excel-obrabotat-bolshoj-obem-dannyh

Рис 3.

Переходим в окно «критерий», и выделяем только первую строку по коду товара. У нас она отразится, как А2. см. рис. 3.

kak-v-excel-obrabotat-bolshoj-obem-dannyh

Рис 4

Далее, нажимаем «ок», и в столбце «Е» появляется цифра 1. Это значит, что по товару 100101200 Молоко Вологодское 1% жирности, только один такой товар, нет дублей. См. рис 5.

Рис 5.

«Протягиваем» значения по столбцу «Е» вниз, и мы получаем результат, а именно, какие товары у нас имеют дубль в нашем списке, см рис 6. У нас проявилось 2 одинаковых товара, (их excel обозначил цифрой 2), которые, для наглядности вручную выделил желтым.

kak-v-excel-obrabotat-bolshoj-obem-dannyh

рис 6. Результат поиска повторяющихся кодов товара

Если бы у нас было три одинаковых товара в списке, то excel, соответственно, проставил цифру 3. И так далее. Уже через простой фильтр, можно выделить, все, что больше 1 и увидеть полную картину.

Как в excel удалить дублирующиеся строки

По сути, метод, указанный выше, уже выполняет наш запрос. Однако, если Вам не нужны данные с повторяющихся строк, а требуется просто их удалить, тогда есть наиболее простой способ быстрого удаления дублей.

Мы воспользуемся функцией, которая уже встроена в панель excel. См. на панели закладку » ДАННЫЕ». Наша функция так и называется «Удалить дубликаты».

Мы выделяем область поиска, у нас это вновь столбец А. См рис 7.

(В более поздней версии excel, можно все находить через поисковое окно.)

kak-v-excel-obrabotat-bolshoj-obem-dannyh

Рис 7. Удалить дубликаты

Далее нам просто нужно подтвердить удаление. Однако, для наглядности, выделил зеленым те задвоенные строки, которые у нас есть. Это строка 7 и 21. См рис 8.

Рис 8

Теперь на панели жмем кнопку «удалить дубликаты». У нас появляется окошко. Здесь нам автоматически предлагает удалить всю горизонтальную строку, то есть «автоматически расширить выделенный диапазон». Жмем на кнопку «удалить дубликаты». См рис 9

kak-v-excel-obrabotat-bolshoj-obem-dannyh

Рис 9

После этого мы видим, что указаны столбцы отмеченные галочками, которые будут удалены по дублирующейся горизонтальной строке. См. рис 10. Мы жмем «ок».

kak-v-excel-obrabotat-bolshoj-obem-dannyh

Рис 10

Все. Теперь мы видим окно с оповещением, что дубль в количестве 1 строки был удален. Теперь, на месте 21-ой строки по товару-дублю, появился следующий товар из нижнего списка. См. рис 11.

kak-v-excel-obrabotat-bolshoj-obem-dannyh

Рис 11

Исходя из описания, может показаться, что по времени занимает не меньше, чем в первом варианте, но на самом деле это не так. Я просто эту функцию расписал очень подробно.

Как в excel обработать большой объем данных, сводная таблица

Сводная таблица служит для объединения разрозненной информации воедино. Сегодня мы также научимся это делать. Здесь нет ничего сложного. К примеру нам требуется, сколько же у нас есть одного и того же товара, не по брендам, а по виду товара.

Смотрим нашу таблицу. В панели инструментов ищем закладку «ВСТАВКА». Под панелью инструментов, в верхнем левом углу, появляется иконка, которая так и называется «Сводная таблица». см. рис 12.  (Или ищем ее в поиске новой версии excel)

Мы выделяем все столбцы или столбцы интересующих нас значений.

kak-v-excel-obrabotat-bolshoj-obem-dannyh

рис 12.

Затем нажимаем на иконку «сводная таблица». У нас выходит окошко, в котором выделен диапазон столбцов. По умолчанию, excel предлагает сводную таблицу вынести на новый лист.  см. рис 13. Мы так и делаем.

kak-v-excel-obrabotat-bolshoj-obem-dannyh

рис 13

Подтверждаем команду нажав кнопку «ок». Получаем на новом листе нашей страницы excel возможность построения сводной таблицы, см рис 14.

рис 14

Теперь мы выбираем нужные нам значения из правого верхнего участка. Раз мы договорились, что нам нужно знать сколько у нас товара по одному наименованию, то выбираем галкой наименование товара. См. рис 15.

рис 15

По аналогии, мы ставим галку напротив количества (остатки в шт, склад 1).

При этом, перемещаем данные с количеством не в окно «название строк», а в окно «Значения». см. рис 16

Здесь мы видим, что у нас появился дополнительный столбец, но пока не по количеству штук каждого товара, а по количеству строк. Далее мы делаем следующую операцию.

рис 16

Правой клавишей мыши нажимаем на столбец с количеством. См. рис 17. У нас открывается окно, где в строке ИТОГИ ПО, мы ставим галку не по количеству (строк), как на картинке, а по сумме.

рис 17

Теперь мы получаем именно сведенное количество по каждому товару. См рис 18.

рис 18. Свод товаров по количеству

Для сравнения и наглядности, возвращаемся в исходный лист, (см. рис 19) и  мы видим:

одинаковые товары по наименованию, помеченные синим цветом 3+3 = 6 штук.

одинаковые товары, помеченные зеленым 5+56 = 61 штука.

Тоже самое у нас в сводной таблице ( рис 18), 6 и 61 штука.

рис 19

В сводную таблицу можно добавить поставщика и так далее. Можно ее сделать более сложной в плане количества учитываемый столбцов. Это уже дело необходимости и практики. Один-два раза сделаете, поймете суть. Потом, навык, как в excel обработать большой объем данных на уровне сводной таблицы, уже никогда не забудете.

Как в excel подтянуть данные из одного диапазона в другой, с помощью функции ВПР

Будет логичным, если сразу же покажу, как в excel «подтянуть» данные из другого листа или файла, в другой. Для этого есть замечательная функция ВПР. Мы разберем, как пользоваться этим на уже знакомых нам данных.

К примеру, Вам нужно свести цифры воедино с другого магазина, склада заявки на один лист Excel. Это делается по ключевому значению, которое должно быть во всех источниках данных. Это может быть уникальный код товара или его наименование.

Сразу оговорюсь по наименованию или текстовому значению, функция ВПР бескомпромиссна.

Если в наименовании товара есть пробел или точка, (любое отклонение) то для нее это будет уже другое значение.

Также необходимо, что бы все источники были в одном формате. Если мы говорим о числах, то в числовом формате.

Итак, у нас есть исходный файл, на листе 1, (см. рис 20)

рис 20

Из листа 2, (рис 21) мы будем подтягивать цифры в лист 1. Обратите внимание, что количества на листах разное. Строки также могут быть смещены в списке или перемешаны, поэтому, простым сложением одной цифры с другой нам не обойтись.

рис 21

Для нас данные на листе 1 те, к которым нужно подтянуть другие значения. Также действуем через знак равно «=». В левом верхнем углу, через поиск других функций, находим ВПР, см рис 22.

kak-v-excel-obrabotat-bolshoj-obem-dannyh

рис 22

Затем, у нас открывается окно и мы выделяем весь столбец А, то есть искомое значение. Оно в новом окне выделяется, как А:А, см рис 23.

рис 23

Далее, мышкой переходим в самом окошке на вторую строку «таблица», только после этого переходим на лист 2 нашего файла.

рис 24

И от столбца «А» выделяем и протягиваем к столбцу с количеством. В данном случае, к  столбцу «D», см рис 25.

рис 25

Столбец D, это четвертый столбец начиная с искомого значения, то есть с кода товара в столбце А.

Поэтому, мы ставим в третьем поле окошка «номер столбца» цифру 4. и в поле «интервальный просмотр» всего ноль. В итоге у нас получается заполненное окошко, см рис 26.

рис 26

Нажимаем «ок», и получаем подтянутую цифру со второго листа, по коду товара 100101200. см. рис 27.

рис 27

Протягиваем значение вниз, столбец D заполняется цифрами с листа 2. см. рис 28. Здесь нам остается просто сложить одни цифры с другими простой формулой сложения и протянуть вниз.

kak-v-excel-obrabotat-bolshoj-obem-dannyh

рис 28

Таким образом, мы можем подтянуть значение из большого массива данных, которое вручную искать долго и не целесообразно, если есть функция ВПР.

Важный момент. Если Вы подтягиваете из другого файла, то файлы должны быть сохранены. И еще. Формулы подтянутых значений остаются. Вам нужна цифры привести в значения или не удалять и не менять значения, которые Вы подтягивали.

Как в excel обработать большой объем данных, функция правсимв и левсимв

Бывает, что необходимо для работы с функцией ВПР, привести искомые значения, и значение которые мы подтягиваем в единую форму. Как мы говорили выше, для ВПР любое отклонение, даже пробел, это уже другое значение.

Для этого, нам в помощь функция excel: правсимв и левсимв. То есть с помощью этой функции можно слева или справа нашего значения, например наименования товара, убрать лишние знаки.

Итак,, нам нужно взять только часть от полного наименования. Смотрим наш рис 29, к примеру, нам нужно только слово «молоко». Мы также в окне поиска формул ищем = левсимв.

рис 29

У нас появляется окошко, см рис 30.

рис 30

Мы выделяем интересующий нас столбец «В», в строке «текст» он появляется как В:В, см рис 31.

рис 31

Далее, в строку «количество знаков» мы ставим ту цифру, сколько букв или символов содержит слово или слова с пробелом начиная с левой стороны. Если нам нужно только слово «молоко», то в нем, с учетом пробела 7 букв, поэтому, ставим цифру 7. См. рис 32.

рис 32

Вот и обрезалось наше наименование только в нужное нам слово, см. рис 33.

рис 33

Теперь остается только «протянуть» вниз, и все значения с первыми 7-ю символами с левой стороны, будут в нашей таблице., см рис 34.

рис 34

По аналогии, можно пользоваться функцией ПРАВСИМВ. Здесь все тоже самое, только символы оставляет с правой стороны. Эту функцию часто применяют на числовых значениях, когда код имеет дополнительные обозначения или отделяется, например точкой.

Заключение

Я отдельно сделал статью, как в excel вести учет и планирование товарных запасов. Ели интересно, статью можно почитать здесь.

Чтобы не утяжелять прочтение, разделю материал на две части. В следующей части пойдет речь о том, как в excel обработать большой объем данных с помощью функции СЦЕПИТЬ, построения графиков и диаграмм. Как автоматически подсветить значения верхнего или нижнего порога, и как седлать пароль на страницу или всю книгу в excel, и так далее.

Надеюсь материал был полезным, всего Вам хорошего. Успехов!

Дополнительная профессиональная программа повышения квалификации

Аннотация программы:

Целевая аудитория: лица, имеющие высшее или среднее профессиональное образование, работающие и неработающие граждане, руководители и персонал организаций, муниципальные и государственные служащие, офисные работники, научно-педагогические работники учреждений высшего и среднего профессионального образования.

Цель курса: подготовка кадрового потенциала для цифровой экономики и обновление компетентности граждан в области цифровых технологий, формирование рынка труда, который должен опираться на требования цифровой экономики, комплексное обновление знаний и формирование профессиональных компетенций в области применения Microsoft Excel для обработки больших данных, а также совершенствование умений и навыков слушателей с учетом специализации их профессиональной деятельности.

Тематическая область знаний: Большие данные, Цифровой маркетинг и медиа

Планируемые результаты обучения:

В результате освоения программы слушатель должен:

знать:

  • возможности электронных таблиц для обработки больших данных;
  • основные группы команд табличного процессора для проведения анализа данных;
  • технологии работы в электронном процессоре, специальные средства для автоматизация обработки больших данных в электронных таблицах;
  • возможности применения электронных таблиц в профессиональной деятельности;

уметь:

  • использовать современные информационные технологии и программные средства, в том числе отечественного производства, при решении задач профессиональной деятельности;
  • осваивать методики использования программных средств для решения практических задач;
  • применять информационно-коммуникационные технологии в профессиональной деятельности с видением их взаимосвязей и перспектив использования;
  • использовать инструментарий электронной таблицы для решения поставленных профессиональных задач;
  • создавать таблицы различной степени сложности и работать в них с большими данными;

иметь навыки:

  • применения информационных технологий для решения различных, профессиональных, исследовательских и административных задач;
  • реализации аналитических и технологических решений в области программного обеспечения и компьютерной обработки информации;
  • обработки больших данных средствами электронных таблиц;
  • работы с электронными таблицами как с базой данных;
  • применения полученных знания для организации и осуществления цифрового маркетинга.

Содержание курса:

Введение в электронные таблицы. Понятие и назначение электронных таблиц. Организация рабочего пространства MS Excel. История появления и развития электронных таблиц. Интерфейс MS Excel. Книга MS Excel. Организация рабочего пространства MS Excel. Понятие ячейки. Адрес ячейки. Понятие блока ячеек. Строка Формул. Типы данных. Настройка окна MS Excel для работы.

Ввод и форматирование данных в MS Excel. Создание таблиц. Вычисления в таблицах при помощи формул и функций MS Excel. Режимы работы табличного процессора. Особенности ввода и форматирования данных в MS Excel. Ввод данных различных типов. Выбор и изменение типа введённых данных. Работа с числовыми данными. Автоматизация при вводе данных: функции автозаполнения и автозавершения. Ряды данных. Создание прогрессий. Работа со списками данных и создание собственных списков перечислений. Преобразование строк данных в столбцы и обратно. Проверка данных. Условное форматирование. Импорт данных. Защита ячеек от ввода. Защита данных. Создание таблиц. Вычисления в таблицах. Правила создания формул и функций в MS Excel. Ссылки на ячейки. Понятие абсолютной и относительной ссылки. Использование абсолютных и относительных ссылок при обработке данных.

Основные группы команд табличного процессора для проведения анализа данных и обработки больших данных

Команды редактирования и форматирования данных в MS Excel. Команды для работы с окнами. Группы команд редактирования. Команды Буфера обмена, поиска и замены данных. Команды форматирования данных. Особенности форматирования в MS Excel. Выбор формата данных. Автоформат. Диалоговое окно Формат ячеек. Команды для настройки окна MS Excel и работы с окнами. Закрепление строк и столбцов в Excel при прокрутке.

Команды для работы с файлами и подготовки документа MS Excel к печати. Меню Файл. Параметры MS Excel и их настройка. Диалоговое окно Параметры страницы. Особенности подготовки документа MS Excel к печати. Установка ориентации страницы, масштаба, полей, колонтитулов, сквозных строк и столбцов, последовательности вывода страниц. Изменение размера листа в соответствии с размерами печатной страницы. Выбор области печати. Работа в Страничном режиме. Предварительный просмотр страниц листа перед печатью.

Команды для работы с электронной таблицей как с базой данных. Анализ данных больших таблиц в MS Excel. Панель Данные. Сортировка данных. Ввод условий для сортировки данных. Диалоговое окно Сортировка. Фильтрация данных. Работа савтофильтром и расширенным фильтром. Диалоговое окно Пользовательский автофильтр. Ввод критериев (условий) отбора данных. Условие с операторами «и» и «или». Расширенный фильтр. Отбор данных по одному и нескольким полям. Создание таблицы условий. Ввод сложных критериев для выборки данных. Работа в диалоговом окне Расширенный фильтр.

Команды для создания и работы с диаграммами в MS Excel. Понятие диаграммы. Виды диаграмм. Элементы диаграммы. Параметры диаграммы. Элементы интерфейса для работы с диаграммами. Способы создания диаграмм. Быстрый способ создания диаграмм. Изменение данных таблиц и диаграмм. Способы добавления данных на диаграмму. Создание смешанных диаграмм. Спарклайны.

Технологии работы в электронном процессоре. Специальные средства и автоматизация обработки больших данных в MS Excel.

Подведение промежуточных итогов и создание структурированных таблиц в MS Excel. Автоматическое создание итоговых строк в таблицах MS Excel. Функция Промежуточные итоги. Работа в диалоговом окне Промежуточные итоги. Добавление и удаление итогов. Работа со структурой итоговой таблицы. Автоматическое создание структурированной таблицы. Удаление структуры таблицы.

Консолидация данных и работа со сводными таблицами в MS Excel Подготовка таблиц для консолидации данных. Требования к таблицам для консолидации данных. Условия успешной консолидации. Диалоговое окно Консолидация. Этапы консолидации.

Понятие и назначение сводной таблицы. Мастер сводных таблиц. Создание сводной таблицы. Работа в сводной таблице. Фильтрация данных сводной таблицы. Сводная диаграмма. Создание сводной диаграммы.

Работа с формулами и функциями в MS Excel. Вычисления в MS Excel. Правила создания формул и функций. Назначение окна Мастер функций. Категории функций. Работа с функциями. Синтаксис функций. Возможности использования абсолютной и относительной адресации ячеек при создании формул и функций. Знакомство с основными функциями.

Использование пакета Анализ данных MS Excel в профессиональной деятельности.

Знакомство с инструментами анализа данных. Загрузка и активизация пакета анализа. Средства анализа «Что-если»: «Подбор параметра», «Таблица данных», «Диспетчер сценариев», «Поиск решения». Обзор инструментов анализа данных.

Поиск решений и Подбор параметров в MS Excel. Работа с инструментом «Подбор параметров». Диалоговое окно «Подбор параметра». Примеры подбора параметров в MS Excel. Надстройка «Поиск решения». Установка надстройки «Поиск решения». Работа с инструментом «Поиск решений». Решение задач.

Создание сценариев и макросов в MS Excel. Примеры сценариев в Excel. Работа в окне «Добавление сценария». Создание Макросов в MS Excel.

Реализующее подразделение https://www.ncfu.ru/export/university/institutes/institut-informacionnyh-tehnologiy-i-telekommunikaciy/

Преподаватели:

  • Панкратова Ольга Петровна – заведующий кафедрой информатики, кандидат педагогических наук, доцент, https://www.ncfu.ru/for-employee/list-of-employees/employee/27f82690-1e28-11e9-bd69-0050568c7ce8/
  • Конопко Екатерина Александровна – доцент кафедры информатики, кандидат педагогических наук, доцент, https://www.ncfu.ru/for-employee/list-of-employees/employee/257c9eec-1e28-11e9-bd69-0050568c7ce8/

Форма обучения: дистанционная

Дата начала занятий: 1 ноября 2020 г.

Срок обучения: 2 недели

Трудоемкость программы: 72 часа.

Стоимость обучения: 15 000 рублей.

Выдаваемый документ: удостоверение о повышении квалификации.

Понравилась статья? Поделить с друзьями:
  • Обработка баз access в excel
  • Обработка xml файлов в excel
  • Обработка pdf в word
  • Обработка json в excel
  • Обработка excel файла в pandas