usto-excel

блог об Excel и не только

Html

С наступающим!

Комментариев нет :

Последние несколько месяцев я был сильно загружен (ну и признаюсь честно - иногда ленился). На то были свои причины, одна из которых смена места работы. Пришлось осваивать и переваривать много новой информации. К сожалению по этим причинам я стал редко публиковать новые посты, хотя накопилось очень много интересных тем.
Обещаю исправиться.
Ну а пока выкладываю ссылку на своё первое видео в YouTube. Надеюсь оно подарит Вам праздничное настроение.
С наступающим!


Среднее значение VS Медиана

Комментариев нет :


Уверен, многие из Вас знакомы с такой функцией MS Excel как СРЗНАЧ(). Эта функция, как и понятно из её названия, вычисляет среднее значение диапазона данных. Но ещё в MS Excel есть функция МЕДИАНА() и человеку далёкому от статистики трудно понять в чём состоит разница между этими функциями.

К примеру, если у нас имеется выборка данных 1, 2, 3, 4, 5 то результат обоих функций будет одинаковым.


Так в чём же разница между этими двумя функциями? Чтобы это понять нужно использовать другую выборку данных.

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


Как видим, функции СРЗНАЧ() и МЕДИАНА() дают совершенно разные результаты. Почему же это происходит?

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

Так вот, разница между этими функциями состоит в том, что функция СРЗНАЧ() суммирует данные в указанном диапазоне (зарплату) и делит результат на количество этих данных (количество сотрудников).
А функция МЕДИАНА() сначала сортирует данные по порядку возрастания, после чего делит этот список на две равные части.
Если количество данных является нечётным, то медиана равняется числу находящемуся в середине отсортированного списка. Если же, как в нашем примере, количество данных в диапазоне является чётным, то медиана равняется среднему значению чисел находящихся ближе всего к линии разделения (в нашем примере значения строк №5 и №6).


Отображение данных в тысячах

Комментариев нет :


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

1 способ - формулы

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


2 способ - специальная вставка

Более быстрый способ, это использование возможностей специальной вставки:
  • в любой пустой ячейке пишем 1000 и копируем эту ячейку;
  • выделяем диапазон с данными и нажимаем комбинацию клавиш Ctrl+Alt+V;
  • в появившемся окне специальной вставки в группе Вставить выбираем значения а в группе Операция выбираем разделить и жмём ОК.



3 способ - пользовательский формат

Ну и наконец самый элегантный способ - это изменение пользовательского формата ячеек в диапазоне данных:
  • выделяем диапазон с данными и жмём на правую кнопку мышки;
  • в появившемся контекстном меню выбираем Формат ячеек...;
  • на вкладке Число выбираем (все форматы);
  • и в строке Тип: пишем # ##0,00 и нажимаем пробел  

Заключение

У каждого из показанных способов есть как свои преимущества, так и недостатки. Первый способ, к примеру, хоть и является наиболее трудоёмким, даёт возможность также задать округление данных с помощью функции ОКРУГЛ(). А третий способ меняет лишь способ отображения данных, но не меняет значения.

А какой способ используете Вы?

Создание графика платежей по кредиту с функцией ПЛТ()

Комментариев нет :


Клиент берёт в банке кредит на сумму $10000 на 12 месяцев под 24% годовых. На основе этих данных необходимо создать график платежей по кредиту, т.е. рассчитать какую сумму ежемесячно нужно будет платить клиенту, чтобы к концу срока полностью погасить основную сумму кредита плюс проценты.

Прежде всего, занесём в MS Excel вводные данные по кредиту, а именно:

  • ПС - приведённая (текущая) стоимость, в нашем случае сумма кредита;
  • Кпер - количество периодов, в течении которых нужно производить выплаты, т.е. если по условиям кредита клиент обязан ежемесячно погашать кредит, то количество периодов платежа равняется 12-ти;
  • Ставка - процентная ставка под которую выдаётся кредит.

Далее, создадим следующего вида таблицу погашений по кредиту:



Рассчитываем ежемесячную сумму платежей

Теперь, в ячейке E7 введём формулу, для расчёта суммы ежемесячного платежа по кредиту, с помощью функции ПЛТ(), имеющий следующий синтаксис:
=ПЛТ(ставка; кпер; пс; [бс]; [тип])
Три первых аргумента (ставка, кпер, пс) у нас уже имеются.
Четвёртый аргумент "бс" означает будущую стоимость, которой мы хотим достичь после внесения последнего платежа. Данный аргумент является необязательным и принимается равным нулю, если не указывать его значение.
Пятый аргумент "тип" означает тип платежа, а именно производится ли платёж в начале периода (1) или же в конце периода (0). Данный аргумент также является необязательным и принимается равным нулю, если не указывать его значение.

Поскольку в ячейке С4 нами указана годовая процентная ставка, а в формуле, рассчитывается сумма платежа по каждому периоду равному одному месяцу, нужно разделить процентную ставку на количество периодов.
=ПЛТ(C4/C3;C3;C2)
Так как сумма платежа для каждого периода будет одинаковой, используем постоянные ссылки на ячейки, что позволит нам протянуть её вниз и получить одинаковую сумму платежа для всех периодов.



Как видим у нас тут две проблемы:

  1. В связи с тем, что понятие платежа подразумевает денежную сумму, при первом вводе в ячейку функции ПЛТ() MS Excel автоматически меняет её формат на денежный. 
  2. И так как платёж означает уменьшение оставшихся у клиента денежных средств результат функции ПЛТ() отображается со знаком минус.

Для решения первой проблемы просто выделим ячейки с формулами и изменим их формат на числовой. А чтобы преобразовать отрицательный результат формулы в положительный подкорректируем формулу с помощью функции ABS(), которая возвращает абсолютную величину числа.



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

Рассчитываем сумму ежемесячных платежей по процентам

Для расчёта ежемесячных платежей по процентам используем функцию ПРПЛТ(), синтаксис которой выглядит следующим образом:
=ПРПЛТ(ставка; период; кпер; пс; [бс]; [тип])
где период - это порядковый номер периода платежа, который мы будем брать из столбца В, используя относительную ссылку:
=ПРПЛТ($C$3/$C$2;B6;$C$2;$C$1)

Меняем формат ячейки на числовой и корректируем формулу, для отображения абсолютной величины суммы платежа, используя функцию ABS().

Рассчитываем сумму ежемесячных платежей по основной сумме долга

Для расчета ежемесячных платежей по основной сумме долга воспользуемся функцией ОСПЛТ(), синтаксис которой абсолютно идентичен, синтаксису функции ПРПЛТ():
=ОСПЛТ(ставка; период; кпер; пс; [бс]; [тип])
Опять же, изменим формат ячейки на числовой и добавим функцию ABS():



Если мы всё сделали правильно, то сумма платежей по процентам и основной сумме по каждому периоду будет равняться сумме общих платежей по данному периоду.


Рассчитываем остаточную сумму кредита

Для расчёта остаточной суммы кредита в ячейку F6, введём простую формулу, которая отнимает от приведённой стоимости кредита сумму платежа основной суммы для первого периода , т.е. в данном случае от ячейки С1 отнимает значение ячейки D6:


Теперь в ячейке F2 введём формулу, которая от остаточной стоимости кредита будет отнимать сумму платежей по основной сумме для каждого следующего периода, и протянем данную формулу вниз.



Таким образом, за 12 месяцев клиент должен будет заплатить $11 347,15 из которых $1 347,15 будут составлять проценты по кредиту.


Получение данных из MS Excel в Power Query

Комментариев нет :

Процесс выгрузки данных из MS Excel в Power Query на первый взгляд достаточно прост - нужно лишь выделить любую ячейку внутри нужного диапазона данных и на вкладке Данные, выбрать команду Из таблицы.



При этом автоматически отобразится окно создания умной таблицы, после чего Excel создаст умную таблицу из указанного диапазона и сразу же загрузит находящиеся в этом диапазоне данные в среду Power Query.


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

Если теперь мы вернёмся на предыдущий лист, то увидим что Excel автоматически преобразовал наш диапазон в умную таблицу и присвоил ей дефолтное имя Таблица1. Точно такое же имя было присвоено и созданному нами в  Power Query запросу.


Вы также можете заранее преобразовать диапазон с данными в умную таблицу и присвоить ей более понятное имя после чего загружать эти данные в Power Query.

Получение данных из именованного диапазона

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



Теперь, если Вы попытаетесь загрузить данные в Power Query (опять же с помощью команды Из таблицы на вкладке Данные), Excel распознает именованный диапазон и уже не будет пытаться преобразовать его в умную таблицу.



Получение данных с помощью пустого запроса


Если Ваша книга Excel уже содержит умные таблицы или именованные диапазоны, то Вы можете выбрать и загрузить их прямо из среды Power Query.
Для этого на вкладке Данные, в выпадающем списке Создать запрос выбираем Из других источников -> Пустой запрос. Откроется абсолютно пустое окно Power Query.


Далее в строке формул пишем:
=Excel.CurrentWorkbook()
Появится список всех умных таблиц и именованных диапазонов, содержащихся в текущей книге Excel. Находим нужную нам умную таблицу или именованный диапазон и жмём на зелёную надпись Table напротив их названия.


Получение данных из другой книги

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


Далее находим и выбираем наш исходный файл, после чего откроется окно Навигатор со списком всех листов содержащихся в книге с данными. Выбрав нужный лист, Вы можете либо нажать на кнопу Изменить и продолжить работу с данными в среде Power Query, либо нажать на кнопку Загрузить и получить таблицу данных на новом листе текущей книги (или же указать другие параметры загрузки).


Знакомство с Power Query

Комментариев нет :

Каждый опытный пользователь MS Excel мечтает получать данные только в правильной, табулярной форме, без разрывов и лишних символов. В реальности, данные редко попадают к нам в готовом для использования виде. Чаще всего мы получаем информацию в сыром виде, причём люди любят разделять информацию по группам, по листам и файлам. Даже данные полученные из современных автоматизированных систем учёта нуждаются в предварительной обработке. В итоге, большую часть нашего времени нам приходится тратить не на анализ данных или создание отчётов, а:
  • на чистку данных от лишних символов;
  • на объединение разрозненных данных в единую таблицу;
  • на исправление форматов данных, к примеру на трансформацию чисел в американском формате в общемировой формат;
  • на фильтрацию и отсеивание ненужной информации.
До недавнего времени, как-то облегчить этот скучный и неблагодарный труд, можно было лишь при помощи:
  • написания специальных формул, с использованием,библиотеки функций MS Excel;
  • создания процедур на встроенном языке Visual Basic for Applications;
  • использования SQL-запросов.
Главный недостаток вышеперечисленных (безусловно очень полезных) инструментов - высокий порог вхождения. На изучение любого из них и совершенствования навыков в их использовании могут уйти месяцы, а то и годы.

Понимая сложившуюся ситуацию в Microsoft решили создать дополнение к MS Excel, позволяющее автоматизировать процесс получения и обработки данных, которое при этом было бы интуитивно понятным и лёгким в изучении. Так появился Power Query.

Вначале, его можно было скачать лишь с официального сайта Microsoft, в качестве отдельной надстройки для MS Excel 2010 MS Excel 2013. Однако, Power Query оказался настолько революционным и обрёл такую популярность, что начиная с MS Excel 2016 он был интегрирован в программу и доступен уже прямо из коробки.

Однако, не желая загружать пользовательский интерфейс MS Excel 2016, для Power Query не стали создавать отдельную вкладку на ленте а втиснули его в качестве отдельной группы с банальным названием Скачать & преобразовать на вкладке Данные (хотя сообщество пользователей MS Excel и продолжает использовать старое имя - Power Query).



Архитектура Power Query

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

  1. Получение данных;
  2. Преобразование данных;
  3. Загрузка данных;
  4. Обновление данных.


Получение данных

Первая стадия работы конвейера Power Query, заключающаяся в получении данных для последующей обработки. В основном, получение данных осуществляется через выпадающее меню Создать запрос на вкладке Данные.

Пользователю предлагается выбрать из четырёх групп источников:

  • Из файла;
  • Из базы данных;
  • Из Azure;
  • Из других источников.


На практике, чаще всего используется группа Из файла, позволяющая получать данные из книги Excel, из файлов CSV и XML, из текстовых файлов и (целым скопом) из папки.


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


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



Для примера, рассмотрим получение данных из следующего текстового файла:


На вкладке Данные выбираем Создать запрос -> Из файла -> Из текста. В открывшемся окне Импорт данных находим нужный нам файл и жмём на кнопку Импорт.


Преобразование данных

Откроется отдельное окно Редактора запросов, с собственной лентой, состоящей из четырёх вкладок:
  • Главная;
  • Преобразование;
  • Добавить столбец;
  • Просмотр.
Каждая из этих вкладок, за исключением последней, содержит набор инструментов, позволяющий трансформировать полученные данные и привести их к нужному нам виду.


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


Прежде всего избавимся от четырёх верхних строк, которые не представляют для нас никакой ценности. Для этого, на вкладке Главная выбираем Сократить строки -> Удалить строки -> Удаление верхних строк. Далее, в появившемся окне указываем количество строк, которые необходимо удалить и жмём ОК.



Теперь нам нужно разделить данные по столбцам. Опять же, на вкладке Главная выбираем Разделить столбец -> По разделителю и в появившемся окне в качестве разделителя указываем табуляцию, после чего жмём ОК.



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


 И последний штрих - если присмотреться к столбцу Сумма, то можно увидеть, что Power Query присвоил ему текстовый тип данных.



Чтобы превратить эти данные в числовые выделяем столбец Сумма и на вкладке Главная изменяем тип данных на Целое число.


Загрузка данных

За загрузку данных отвечает выпадающее меню Закрыть и загрузить на вкладке Главная.
Доступны две команды: Закрыть и загрузить и Закрыть и загрузить в...


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

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


Пользователю предлагается несколько опций:
  • загрузка данных в таблицу с указанием листа (новый либо существующий);
  • только создание соединения - в случае если мы планируем использовать этот запрос для объединения с другими запросами;
  • добавление в модель данных - если мы хотим загрузить полученные данные прямо в модель данных Power Pivot.
Выберем первую команду из выпадающего меню и загрузим данные на новый лист.


Обновление данных

А теперь главный секрет столь огромной популярности Power Query.
Откроем наш исходный текстовый файл и добавим в него показатели продаж ещё за несколько месяцев.


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



И это всё! Только подумайте об этом - Вам больше не нужно проходить весь процесс заново, как Вы раньше делали при обычной выгрузке данных из текстовых таблиц. Всё, что Вам нужно всего лишь нажать на одну кнопку!

Заключение

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