Эффективная работа в Microsoft Excel
 9785970609224, 9781484264669

Table of contents :
effektivnaa_rabota_v_microsoft_excel_1-20
effektivnaa_rabota_v_microsoft_excel_21-40
effektivnaa_rabota_v_microsoft_excel_41-60
effektivnaa_rabota_v_microsoft_excel_61-80
effektivnaa_rabota_v_microsoft_excel_81-100
effektivnaa_rabota_v_microsoft_excel_101-120
effektivnaa_rabota_v_microsoft_excel_121-140
effektivnaa_rabota_v_microsoft_excel_141-160
effektivnaa_rabota_v_microsoft_excel_161-180
effektivnaa_rabota_v_microsoft_excel_181-200
effektivnaa_rabota_v_microsoft_excel_201-220
effektivnaa_rabota_v_microsoft_excel_221-240
effektivnaa_rabota_v_microsoft_excel_241-265
effektivnaa_rabota_v_microsoft_excel_266-278

Citation preview

Алан Мюррей

Эффективная работа в Microsoft Excel

Advanced Excel Success A Practical Guide to Mastering Excel

Alan Murray

Эффективная работа в Microsoft Excel Руководство по совершенствованию навыков работы в Excel

Алан Мюррей

Москва, 2021

УДК 004.424 ББК 32.372 М98

Мюррей А. М98 Эффективная работа в Microsoft Excel / пер. с  англ. А. Ю. Гинько. – М.: ДМК Пресс, 2021. – 276 с.: ил. ISBN 978-5-97060-922-4 Книга знакомит читателей с углубленными техниками использования Microsoft Excel, которые расширяют возможности работы в этой программе и автоматизируют многие рутинные процессы. Microsoft Excel широко применяется в офисной работе для ведения учета и анализа данных, но большинство пользователей осваивает лишь базовые навыки этого программного продукта. Алан Мюррей, преподаватель и консультант по Excel, открывает ряд секретов, которые выведут работу с программой на новый уровень. Вы узнаете о многих полезных функциях, глубоко погрузитесь в мир формул, изучите техники форматирования, улучшающие представление данных. Тема создания динамических отчетов раскрывается на примерах из реальной практики. Отдельная глава посвящена приемам построения профессионально выглядящих, динамически обновляемых диаграмм. В заключение рассматриваются инструменты Power Query и Power Pivot, расширяющие возможности Excel. Книга предназначена для пользователей Excel, которые хотят освоить этот продукт во всех тонкостях и упростить оформление табличных данных.

УДК 004.424 ББК 32.372

First published in English under the title Advanced Excel Success; A Practical Guide to Mastering Excel by Alan Murray, edition: 1. This edition has been translated and published under licence from APress Media, LLC, part of Springer Nature. APress Media, LLC, part of Springer Nature takes no responsibility and shall not be made liable for the accuracy of the translation. Russian language edition copyright © 2021 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.

ISBN 978-1-4842-6466-9 (англ.) ISBN 978-5-97060-922-4 (рус.)

© Alan Murray, 2021 © Оформление, издание, перевод, ДМК Пресс, 2021

Моим детям: Джорджу и Лили

Содержание От издательства....................................................................................................10 Об авторе.................................................................................................................11 О техническом редакторе ...............................................................................12 Благодарности ......................................................................................................13 Введение..................................................................................................................14 Глава 1. Приемы Excel и инструменты для работы  с данными ...............................................................................................................16 Техники заполнения .........................................................................................16 Генерация числовых последовательностей ..............................................16 Дополнительные опции последовательностей ........................................18 Невероятное мгновенное заполнение .......................................................20 Преимущества настраиваемых списков ........................................................21 Одновременное изменение нескольких рабочих листов ............................25 Трюки с диалоговым окном Найти и заменить ............................................27 Найти и заменить в рабочей книге ............................................................27 Быстрое редактирование формул ...............................................................29 Изменение формата ячеек...........................................................................30 Удаление значений .......................................................................................31 Удаление звездочек (*) из диапазона.........................................................33 Быстрая замена символов переноса строки .............................................35 Быстрое удаление каждой N-ой строки .....................................................36 Быстрый поиск ячеек, удовлетворяющих критерию ...................................37 Удаление пустых строк .................................................................................37 Заполнение пустых ячеек нулями ..............................................................39 Заполнение пустых ячеек значениями, стоящими выше .......................41 Форматируем все ячейки с формулами .....................................................43 Сравниваем столбцы построчно .................................................................44 Секреты инструмента Текст по столбцам ......................................................45 Преобразование строк в числа ....................................................................45 Преобразование форматов даты ................................................................46 Преобразование международных числовых форматов ..........................48 Преобразование значений с замыкающим минусом ..............................49 Что в специальной вставке такого специального? .......................................50 Преобразование положительных значений в отрицательные ..............50 Удаление формул из ячеек ...........................................................................51 Копирование ширины столбцов .................................................................52 Специальная вставка с диаграммами ........................................................53

Содержание  7

Глава 2. Десять мощных функций Excel ..................................................55 Функции – это прекрасно .................................................................................56 Использование умных таблиц .........................................................................56 Форматирование диапазона в виде умной таблицы ...............................56 Преимущества использованияумных таблиц ...........................................58 Динамические массивы. Игра изменилась ...................................................59 СУММПРОИЗВ (SUMPRODUCT) .......................................................................62 Простой пример использования функции СУММПРОИЗВ .....................63 Сумма и количество с множественными критериями ............................64 Как это работает? ..........................................................................................65 Более сложные примеры ..............................................................................66 Альтернатива формулам массива ...............................................................68 УНИК (UNIQUE) ..................................................................................................70 Создание неповторяющихся списков ........................................................70 Динамический список для проверки данных ...........................................72 Подсчет неповторяющихся и уникальных вхождений ...........................74 СОРТ (SORT) и СОРТПО (SORTBY) ..................................................................76 Функция СОРТ (SORT) ..................................................................................76 Сортировка списка неповторяющихся значений ....................................76 Сортировка нескольких столбцов ...............................................................77 Функция СОРТПО (SORTBY) ........................................................................79 Сортировка по нескольким столбцам при помощи функции СОРТПО ..........................................................................................................79 Исключение критерия сортировки из результата....................................80 Сортировка товаров по итоговым продажам ...........................................80 ФИЛЬТР (FILTER) ................................................................................................81 Пример функции ФИЛЬТР ...........................................................................82 Зависимый выпадающий список................................................................85 Сокращающийся выпадающий список ......................................................87 Агрегирование результатов функции ФИЛЬТР ........................................89 ИНДЕКС (INDEX) ................................................................................................90 Универсальный поиск с ИНДЕКС и ПОИСКПОЗ .......................................91 Возвращаем последние X значений из строки/столбца..........................94 ВЫБОР (CHOOSE) ...............................................................................................96 Выбор формулы из списка ...........................................................................97 ВЫБОР определенных столбцов для ФИЛЬТРА ......................................100 ПРОСМОТРX (XLOOKUP) ................................................................................102 Быстрый пример функции ПРОСМОТРX ................................................103 Устойчивый поиск по диапазону ..............................................................103 Поиск по нескольким столбцам ................................................................104 Поиск последнего вхождения....................................................................105 Двумерный поиск........................................................................................106 Динамическое суммирование значений с функцией СУММЕСЛИМН.............................................................................................107 ДВССЫЛ (INDIRECT) ........................................................................................108 Возвращаем таблицу на основании выбора пользователя ...................109

8  Содержание Ссылка на другие листы при помощи функции ДВССЫЛ .....................111 ПЕРЕКЛЮЧ (SWITCH) ......................................................................................112 Проверка текстовых значений ..................................................................113 Использование логических операторов ..................................................114 Использование ПЕРЕКЛЮЧ с другими функциями ...............................115

Глава 3. Продвинутые техники форматирования.............................116 Условное форматирование ............................................................................116 Применение правила ко всей строке .......................................................116 Условное форматирование по нескольким столбцам ...........................119 Форматирование приближающихся дат..................................................121 Форматирование выходных дней и других особых дат ........................123 Сравнение двух списков.............................................................................126 Наборы значков для отображения изменений .......................................128 Гистограммы для сравнения значений ...................................................130 Гистограммы для показа прогресса в достижении цели.......................132 Создание тепловой карты с цветовыми шкалами .................................133 Условное форматирование в сводных таблицах ....................................135 Графики в ячейках в при помощи функции ПОВТОР................................137 Пользовательское форматирование чисел ..................................................140 Сочетание числового и текстового форматов в ячейке ........................141 Показываем день недели ...........................................................................142 Сохранение ведущих нулей .......................................................................144 Отображение отрицательных чисел красным ........................................144 Отображение нулевых значений в виде пустых ячеек ..........................145 Форматируем время для отображения длительности свыше 24 часов .........................................................................................................145

Глава 4. Трюки в работе с диаграммами ...............................................147 Динамические диаграммы.............................................................................147 Динамический диапазон диаграммы ......................................................148 Диаграммы и формулы динамических массивов ..................................149 Автоматическая сортировка данных на диаграмме – с Excel 365 .......152 Автоматическая сортировка данных на диаграмме – без Excel 365 ...153 Скользящий график за последние X периодов .......................................155 Интерактивные диаграммы...........................................................................159 Добавление интерактивности при помощи проверки данных ...........159 Использование флажков для выбора отображаемого ряда данных ....162 Творческий подход к меткам на диаграммах .............................................166 Динамический заголовок диаграммы .....................................................166 Необычные метки данных .........................................................................169 Отображение символов на оси диаграммы ............................................172 Улучшенное форматирование диаграмм ....................................................173 Условное форматирование на диаграммах .............................................173 Условное форматирование маркеров на линейной диаграмме ..........176

Содержание  9

Сравнение актуального значения с целевым на столбчатой диаграмме ....................................................................................................177 Добавление целевого диапазона на линейную диаграмму ..................179

Глава 5. Power Query. Мир никогда не будет прежним ..................182 Введение в Power Query ..................................................................................182 Преобразование данных в Excel ....................................................................185 Объединение нескольких листов в один .....................................................191 Проблема с Excel.CurrentWorkbook() ........................................................193 Подключение к другой рабочей книге Excel ...............................................195 Объединение запросов – альтернатива поиску ..........................................199 Объединение запросов – сравнение таблиц................................................202 Импорт файлов из папки ...............................................................................206 Извлечение данных из интернета ................................................................211 Импорт из файлов PDF ...................................................................................217 Группировка и сведение столбцов ................................................................219

Глава 6. Power Pivot. Внутренняя модель данных Excel ...............226 Что такое Power Pivot?.....................................................................................226 Установка надстройки Power Pivot................................................................228 Импорт в модель данных ...............................................................................230 Импорт из папки .........................................................................................230 Импорт из рабочей книги Excel ................................................................233 Создание связей между таблицами ..............................................................236 Создание таблицы дат ....................................................................................243 Сортировка по столбцам ............................................................................246 Пометка таблицы как таблицы дат ...........................................................248 Создание связей с таблицей дат ...............................................................249 Работаем с мерами DAX..................................................................................249 В чем преимущество использования мер?..............................................249 Создание меры DAX ....................................................................................251 Расчет количества продаж .........................................................................251 Общая сумма продаж..................................................................................254 Нарастающие итоги по продажам ............................................................256 Процент от годовой суммы........................................................................257 Разница с предыдущим месяцем в сумме и процентах........................259 Скрытие ненужных итогов при расчете мер ..........................................261 Организация мер и полей ..............................................................................262 Размещение полей и областей рядом ......................................................263 Скрытие полей от клиентских инструментов.........................................264 Создание таблицы мер ...............................................................................266 Использование несвязанного среза .............................................................268 Преобразуем сводную таблицу в формулы .................................................272

Предметный указатель ...................................................................................274

От издательства Отзывы и пожелания Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об этой книге – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые будут для вас максимально полезны. Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на страницу книги и  оставив комментарий в  разделе «Отзывы и  рецензии». Также можно послать письмо главному редактору по адресу dmkpress@gmail. com; при этом укажите название книги в теме письма. Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу http:// dmkpress.com/authors/publish_book/ или напишите в  издательство по адресу [email protected].

Скачивание исходного кода примеров Скачать файлы с дополнительной информацией для книг издательства «ДМК Пресс» можно на сайте www.dmkpress.com на странице с описанием соответствующей книги.

Список опечаток Хотя мы приняли все возможные меры для того, чтобы обеспечить высокое качество наших текстов, ошибки все равно случаются. Если вы найдете ошибку в одной из наших книг, мы будем очень благодарны, если вы сообщите о ней главному редактору по адресу [email protected]. Сделав это, вы избавите других читателей от недопонимания и поможете нам улучшить последующие издания этой книги.

Нарушение авторских прав Пиратство в интернете по-прежнему остается насущной проблемой. Издательства «ДМК Пресс» и Арress очень серьезно относятся к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконной публикацией какой-либо из наших книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы мы могли применить санкции. Ссылку на подозрительные материалы можно прислать по адресу электронной почты [email protected]. Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы.

Об авторе Алан Мюррей (Alan Murray) обладает статусом Microsoft MVP, преподает Excel, ведет канал на YouTube и  является автором специализированных книг. Кроме того, он консультирует в области Excel на протяжении более чем 20 лет. Преподавательская деятельность доставляет Алану настоящее удовольствие, ему нравится чувствовать, что он облегчает жизнь своим ученикам. Мюррей ведет собственный блог по адресу www.computergaga.com, а также пишет статьи сразу для нескольких сайтов. На его канале в  YouTube более 500 видео, которые собрали уже более 24 млн просмотров. Также Алан ежемесячно проводит встречи для любителей Excel в Лондоне (www.meetup.com/London-Excel-Meetup-Group), на которых все желающие могут учиться, обмениваться опытом и общаться в дружеской обстановке.

О техническом редакторе Марк Проктор (Mark Proctor) – дипломированный специалист по финансам, аудитор и блогер, активно использующий Excel в своей профессиональной деятельности на протяжении последних 20 лет. За это время Марк создал большое количество отчетов в области прогнозирования, принятия решений и автоматизации для повышения эффективности рабочих процессов в самых разных компаниях: от розничных магазинов до производственных предприятий. Также Марк ведет один из популярнейших блогов по Excel по адресу https://exceloffthegrid.com, на страницах которого описывает продвинутые техники использования Excel на практике.

Благодарности Первым делом я  хотел бы поблагодарить всех сотрудников издательства Apress, которые были вовлечены в  процесс создания этой книги. Особую благодарность хотелось бы выразить рецензенту издательства Смрити Шривастава (Smriti Srivastava) за предоставленную возможность выпустить книгу и  редактору-координатору Шриканту Вишвакарма (Shrikant Vishwakarm) за помощь и поддержку при разборе почты. Написание подобной книги – дело не из легких, но результат оправдал ожидания. Также хочется сказать спасибо Марку Проктору (Mark Proctor) за техническую редактуру книги. Именно он воодушевлял меня на протяжении всей работы и был рядом, когда нужно было с кем-то посоветоваться. Марк, ты классный друг и крутой специалист по Excel. Кроме того, я бы хотел поблагодарить все сообщество Excel. Эти люди вдохновляли и помогали мне. Я очень признателен всем, кто подписался на мой блог, канал в YouTube и посещает наши встречи по интересам. Ваши обратная связь и поддержка очень мне помогали. Спасибо моей помощнице в организации встреч в Лондоне Теа Кусева (Tea Kuseva). Она всегда очень верила в меня и воодушевляла на новые свершения. К тому же мы по-настоящему сдружились за эти годы. Наконец, хотел бы выразить благодарность моим деткам: Джорджу и Лили. Они – моя главная поддержка и опора во всем, мои лучшие друзья. Именно они мотивируют меня на новые подвиги, даже не зная об этом.

Введение Цель написания этой книги – открыть читателям новые углубленные техники использования такого привычного, казалось бы, инструмента, как Excel. За 20 лет преподавания и консультирования я изучил огромное количество тонкостей и нюансов применения Excel, освоил не самые очевидные техники написания формул и хочу поделиться этим с вами. Microsoft Excel используется в офисной работе повсеместно для ведения учета и анализа данных. Но при этом подавляющее большинство пользователей Excel обладают лишь базовыми навыками этого богатого программного продукта, познакомившись с ним в институте или прочитав пару статей в интернете. Они нажимают какие-то кнопки, щелкают мышкой, зачастую даже не понимая, как получается нужный им результат. В этой книге я постараюсь открыть вам некоторые тайны и секреты Excel и научить пользоваться этим мощным инструментом на совершенно новом уровне. Книга, которую вы держите в руках, будет полезна всем, кто активно использует Excel в своей работе вне зависимости от профессии и требований к программе. Содержание глав книги:  глава 1. В  данной главе мы сосредоточимся на техниках и  приемах, которые помогут вам повысить эффективность использования Excel на практике, – я поделюсь с вами навыками, полученными за долгие годы работы и преподавания;  глава 2. Эта глава будет целиком посвящена формулам и  некоторым предельно полезным функциям Excel. Вы глубоко погрузитесь в  мир формул Excel и  узнаете о  них то, чего не знали раньше. После этого я  познакомлю вас с  несколькими крайне эффективными функциями для анализа данных и создания динамических отчетов с использованием реальных примеров;  глава 3. Здесь мы познакомимся с продвинутыми техниками форматирования, способными придать вашим данным значимости. Начнем с  углубленного изучения условного форматирования, после чего выведем эту технику на новый качественный уровень с помощью пользовательского форматирования;  глава 4. В данной главе вы узнаете массу приемов, облегчающих и улучшающих процесс создания диаграмм в  Excel. Речь пойдет в том числе об автоматическом изменении цветов для ключевых показателей, динамической сортировке данных и креативном подходе к созданию меток на диаграммах;  глава 5. Эта глава позволит вам познакомиться с одной из важнейших новинок в  Excel за последние несколько лет  – инструментом Power Query. Мы пройдемся по нескольким практическим примерам загрузки и подготовки данных для анализа с использованием Power Query;

 15  глава 6. Заключительная глава книги будет посвящена Power Pivot – надстройке, выходящей за границы традиционного использования рабочих листов в  Excel. С  помощью Power Pivot вы сможете хранить большие объемы информации, создавать модели данных и  производить мощные вычисления.

Демонстрационные файлы Вы можете загрузить файлы примеров, используемые на протяжении всей книги, чтобы попрактиковаться с ними самостоятельно. Учиться лучше всего на практике. Следуйте инструкциям, исследуйте примеры и набирайтесь опыта. Файлы можно скачать на странице книги издательства Apress по адресу www.apress.com/gp/book/9781484264669. Все демонстрационные файлы организованы по папкам в  соответствии с главами книги.

Глава

1 Приемы Excel и инструменты для работы с данными

Наверное, все любят приемчики в Excel. Я так точно люблю. Обожаю находить всякие фишечки и неизвестные мне ранее нюансы и использовать их в работе. Это позволяет мне постоянно узнавать что-то новое. Зачастую при решении определенной задачи в Excel ответ находится совсем не там, где ожидаешь. К примеру, он может быть скрыт в инструменте, который, как казалось до этого, вы прекрасно знаете. Но вдруг вас осеняет, и  ставший доступным вам очередной прием открывает новые горизонты. Вы начинаете судорожно думать, где бы еще его применить на практике. Я обожаю это чувство. В данной главе я поделюсь с вами приемами и трюками, которые открыл для себя за последние годы. Этими находками я обязан своим друзьям, студентам и, конечно, собственной любознательности. Надеюсь, многим из вас эти приемы помогут облегчить свою рутинную работу.

Техники заполнения Давайте начнем с несложных техник заполнения. Это, наверное, одни из первых приемов, которые люди осваивают при знакомстве с  Excel, но и  здесь есть нюансы, о которых знают далеко не все.

Генерация числовых последовательностей Как вы, наверное, знаете, для генерации простых числовых последовательностей (например, при создании порядковых номеров)  заполнения одной ячейки недостаточно, поскольку по умолчанию Excel просто скопирует ее значение во все соседние ячейки.

Техники заполнения  17

1. Введите первое число из последовательности (в  нашем примере это единица) в  ячейку, затем выделите ее и  наведите курсор на маркер заполнения (fill handle) в нижнем правом углу ячейки, показанный на рис. 1.1, чтобы появилось перекрестие. 2. С зажатой левой кнопкой мыши протяните вниз на столько ячеек, сколько хотите заполнить значениями. В каждой из затронутых ячеек появится то же число, которое было введено в исходную ячейку, что видно по рис. 1.2.

Рис. 1.1  Использование маркера заполнения для генерации числовых последовательностей Рис. 1.2  При протягивании одной ячейки вниз остальные ячейки заполняются тем же значением

Ввод отличающегося числового значения в соседнюю с исходной ячейку позволит создать требуемую последовательность, как показано на рис. 1.3. Но вам нет никакой необходимости делать все это. В Excel можно сгенерировать нужную вам последовательность и гораздо проще. Просто введите в ячейку число и заполняйте соседние ячейки как показано выше, но с зажатой клавишей Ctrl. Альтернативный способ состоит в  задействовании «волшебной» ячейки справа. Выделите эту ячейку вместе с исходной и просто протягивайте вниз, как показано на рис. 1.4.

Рис. 1.3  Использование двух чисел для генерации последовательности

Рис. 1.4  Использование «волшебной» ячейки справа для генерации последовательности

18  Приемы Excel и инструменты для работы с данными

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

Рис. 1.5  Нажмите правую кнопку мыши, выведите заполнения из ячейки и верните обратно, чтобы открыть секретные опции

Примечание. Доступ к этим опциям можно также получить, открыв пункт меню Главная ⇒ Заполнить ⇒ Прогрессия (Home ⇒ Fill ⇒ Series).

Диалоговое окно Прогрессия (Series), показанное на рис. 1.6, предоставляет богатые возможности в плане создания последовательностей, в числе которых заполнение по строкам или столбцам и выбор шага и предельного значения для последовательности. Давайте для примера создадим последовательность с шагом 2 и предельным значением 15. Результат показан на рис. 1.7. Это лишь один из примеров того, что можно сделать. Теперь давайте посмотрим на более реалистичный сценарий.

Техники заполнения  19

Рис. 1.6  Дополнительные опции в диалоговом окне Прогрессия

Рис. 1.7  Числовая последовательность от 1 до 15 с шагом 2

Перед нами стоит задача создания списка дат с 3 марта 2020 года по 30 октября 2022 года с двухнедельным интервалом (3 марта 2020 года – это вторник). 1. Введите значение 03/03/2020 в исходную ячейку и откройте диалоговое окно Прогрессия. 2. Excel автоматически определит, что вы собираетесь строить последовательность дат. Убедитесь, что в группе Тип (Type) выбран пункт Даты (Date), а в группе Единицы (Date unit) – День (Day). 3. Введите число 14 в поле Шаг (Step value) и 30/10/2022 – в поле Предельное значение (Stop value). Полностью заполненное окно Прогрессия показано на рис. 1.8. 4. Нажмите на кнопку OK. Сгенерированный список будет выглядеть так, как показано на рис.  1.9. Этот способ куда легче, чем вводить две даты в ячейки и протягивать маркер заполнения вниз до 30 октября 2022 года.

Рис. 1.8  Последовательность дат с предельным значением

Рис. 1.9  Список дат с двухнедельным интервалом, начиная с 2 марта 2020 года

20  Приемы Excel и инструменты для работы с данными В данном случае последовательность дат продлилась до 25 октября 2022 года – это последний вторник из выбранного интервала.

Невероятное мгновенное заполнение Инструмент мгновенного заполнения (Flash Fill) появился в Excel версии 2013, и,  когда я  впервые опробовал его в  работе, я  ночь не спал. Наряду с  Power Query, о  котором мы поговорим в  главе 5, этот механизм значительно облегчил выполнение задач, которые ранее занимали уйму времени. Давайте рассмотрим на примерах, что и  как умеет делать инструмент мгновенного заполнения. Сразу скажу, что мы лишь познакомимся с основами этой концепции, а глубже изучить вы ее сможете самостоятельно. Файл: flash-fill.xlsx

В первом примере у  нас есть список людей, имена которых записаны в столбце A, а фамилии – в столбце B. В столбце C мы хотим соединить их вместе. Введите имя и фамилию первого человека в списке и нажмите на клавишу Enter. Начните писать имя второго человека, и механизм мгновенного заполнения угадает ваши намерения и предложит дополнить текст автоматически, как показано на рис. 1.10. Нажмите на клавишу Enter, чтобы подтвердить действие и заполнить список до конца.

Рис. 1.10  Мгновенное заполнение автоматически подбирает нужный шаблон

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

Преимущества настраиваемых списков  21

Для второго примера заполним столбец A кодами, как показано на рис. 1.11, и  предположим, что во втором столбце нам необходимо извлечь из кодов содержимое между двумя дефисами. Одновременно желательно перевести извлеченные фрагменты кодов в верхний регистр. Если пользоваться для этого формулой, она окажется весьма непростой для понимания, но с механизмом мгновенного заполнения все просто. 1. Встаньте в ячейку B2 и введите буквы JH в верхнем регистре. 2. Нажмите сочетание клавиш Ctrl+Enter, чтобы подтвердить ввод, но остаться при этом в ячейке B2. 3. Нажмите сочетание клавиш Ctrl+E, активирующее мгновенное заполнение. Да, вот так просто мы извлекли данные, необходимые нам для дальнейшего анализа. Результат показан на рис. 1.12. Примечание. Механизм мгновенного заполнения также можно запустить, выбрав в меню Главная ⇒ Заполнить ⇒ Мгновенное заполнение (Home ⇒ Fill ⇒ Flash Fill or Data ⇒ Flash Fill).

Рис. 1.11  Список кодов с информацией для извлечения

Рис. 1.12  Готовое решение, полученное при помощи мгновенного заполнения

преимущесТва насТраиваемых списков Когда вы вводите название месяца или дня недели в  Excel и  протягиваете ячейки, автоматически создаются правильные последовательности, что видно по рис. 1.13. Это возможно по причине того, что Excel хранит подобные последовательности в виде настраиваемых списков (custom lists). Но вы можете создавать собственные настраиваемые списки в Excel. Это поможет увеличить скорость и точность ввода последовательностей данных в будущем, что весьма и весьма полезно. Еще одно применение настраиваемых списков состоит в выполнении эффективной сортировки данных. У вас есть возможность сортировать столбцы

22  Приемы Excel и инструменты для работы с данными в соответствии со списками, но что, если элементы в нем расположены не в том порядке, как вам нужно? Предположим, у нас есть срез (slicer) для фильтрации данных в умной таб­ лице (table) или сводной таблице. В нем содержатся дни недели, отсортированные в определенном порядке, как показано на рис. 1.14. Но, быть может, для вас первым днем недели является не понедельник (Monday), а воскресенье (Sunday). Таким образом, вы бы хотели, чтобы именно этот день недели располагался первым при выполнении сортировки.

Рис. 1.13  Последовательность из дней недели в Excel Рис. 1.14  Срез с днями недели, отсортированный при помощи стандартного списка

Чтобы создать собственный настраиваемый список, вам необходимо выполнить следующие действия. 1. Перейти в меню Файл ⇒ Параметры ⇒Дополнительно ⇒ Изменить списки (File ⇒ Options ⇒ Advanced ⇒ Edit Custom Lists), как показано на рис. 1.15. 2. Вы не можете редактировать встроенные списки, так что придется создать собственный. С выбранным элементом НОВЫЙ СПИСОК (NEW LIST) в окне Список (Custom lists) введите дни недели в нужном вам порядке в правом окне Элементы списка (List entries). После каждого введенного элемента нажимайте на клавишу Enter. Готовый список показан на рис. 1.16. 3. Нажмите на кнопку Добавить (Add) для перемещения созданного списка в левое окно, после чего нажмите на кнопку OK для закрытия окна. Примечание. Вы также можете импортировать список из диапазона ячеек при помощи кнопки Импорт (Import).

Преимущества настраиваемых списков  23

Рис. 1.15  Кнопка Изменить списки (Edit Custom Lists) в меню Дополнительно (Advanced)

Рис. 1.16  Создание своего настраиваемого списка дней недели

24  Приемы Excel и инструменты для работы с данными Созданный список можно использовать для сортировки в срезе. 1. Выделите срез и  выберите в  меню пункт Срез ⇒ Настройка среза (Slicer ⇒ Slicer Settings). 2. Убедитесь, что флажок Использовать настраиваемые списки при сортировке (Use Custom Lists when sorting) включен, как показано на рис.  1.17. При этом вам может понадобиться сортировать данные в порядке убывания, после чего вы можете вернуться к сортировке по возрастанию.

Рис. 1.17  Использование настраиваемых списков для выполнения сортировки среза

Элементы среза теперь отсортированы в нужном нам порядке, что видно по рис. 1.18. Создание собственных настраиваемых списков для хранения названий месяцев или дней недели – это довольно распространенный способ использования этой возможности. К тому же в разных сценариях могут понадобиться разные первые месяцы. Кроме того, настраиваемые списки можно использовать и довольно творчески. Представьте, что вы осуществляете продажи в  разных странах, что отражено в срезе (или сводной таблице). При этом в двух странах – Германии (Germany) и Швейцарии (Switzerland) – у вас расположены флагманские магазины, и вы хотели бы всегда видеть их на вершине списка для удобства. Создание настраиваемого списка, показанного на рис. 1.19, в котором нужные нам страны расположены наверху, и использование его для сортировки обеспечит нам желаемый результат.

Одновременное изменение нескольких рабочих листов  25

Рис. 1.18  Срез, отсортированный в соответствии с настраиваемым списком

Рис. 1.19  Настраиваемый список с требуемой сортировкой по странам для среза

одновременное изменение нескольких рабочих лисТов Иногда у вас возникает потребность изменить одновременно несколько рабочих листов: удалить столбцы, отформатировать ячейки или вписать в них формулы. Это можно легко реализовать путем группировки листов. В демонстрационном файле group­worksheets.xlsx присутствует пять листов с квартальными продажами товаров. Каждый лист представляет собой отчет одного магазина, и  мы хотим сделать определенные изменения. Рабочая книга показана на рис. 1.20.

Рис. 1.20  Пять рабочих листов с данными

26  Приемы Excel и инструменты для работы с данными Чтобы произвести изменения на всех листах одновременно, необходимо щелкнуть правой кнопкой мыши на закладке с листами и выбрать пункт Выделить все листы (Select All Sheets), как показано на рис. 1.21.

Рис. 1.21  Выделение всех рабочих листов

Все листы сгруппированы, что можно понять по слову Группа (Group) в строке заголовка рядом с названием рабочей книги (рис. 1.22).

Рис. 1.22  Группировка листов в заголовке рабочей книги

Теперь можно приступать к изменениям на листе, и все они будут продублированы на остальных листах, входящих в группу. В нашем случае заголовки таблицы были выделены жирным шрифтом, а в строке 8 была использована функция СУММ (SUM) для подведения итогов по кварталам, при этом сами ячейки итогов были обрамлены верхними и  нижними границами, а  формат в  них был изменен на числовой, как показано на рис. 1.23.

Трюки с диалоговым окном Найти и заменить  27

Рис. 1.23  Форматирование и применение формул на сгруппированных листах

Чтобы разгруппировать объединенные листы, просто щелкните по закладке неактивного рабочего листа. Примечание. Можно сгруппировать не все листы, а  выборочные. Для этого необходимо выделить их в закладках с зажатой клавишей Ctrl. Диапазоны последовательно расположенных листов можно выбрать, указав первый и последний из них с зажатой клавишей Shift.

Трюки с диалоговым окном найТи и замениТь Инструмент Найти и заменить (Find and Replace) у пользователей Excel зачастую остается незаслуженно забытым. Ему уже много лет, и он неприметно ютится в дальней части вкладки Главная (Home) на ленте, что не добавляет ему популярности. Но зачастую возможности, которые предлагает этот механизм, просто неуместно заменять использованием причудливых формул, макросов или новых инструментов вроде Power Query. Иногда нужно просто выполнить задачу. И здесь на помощь приходит старое доброе диалоговое окно Найти и заменить. Файл: find-and-replace.xlsx

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

28  Приемы Excel и инструменты для работы с данными Итак, у нас есть три рабочих листа: North East, North West и South (конечно, их может быть и больше), и нам необходимо сделать определенные изменения на всех из них. В данном примере мы хотим изменить наименование товара с  Supreme Pizza на Mega Pizza. Причем мы должны произвести замену на всех листах. 1. Откройте диалоговое окно Найти и  заменить (Find and Replace), воспользовавшись сочетанием клавиш Ctrl+H или перейдя по меню Главная ⇒ Найти и выделить ⇒ Заменить (Home ⇒ Find & Select ⇒ Replace). 2. Введите строку «Supreme Pizza» в  поле Найти (Find) и  строку «Mega Pizza» в поле Заменить на (Replace with). 3. Нажмите на кнопку Параметры (Options) для открытия дополнительных настроек. 4. Измените значение в  списке Искать (Within) с  На листе (Sheet) на В книге (Workbook). Полностью заполненное диалоговое окно показано на рис. 1.24.

Рис. 1.24  Заменяем все вхождения строки «Supreme Pizza» в книге

5. Нажмите на кнопку Заменить все (Replace All).

Рис. 1.25  Подтверждение успешной замены строк в книге

Все вхождения строки «Supreme Pizza» в  рабочей книге будут изменены на «Mega Pizza». При этом появится подтверждение с указанием количества произведенных замен, представленное на рис.  1.25. Если замен было выполнено больше, чем вы ожидали, вы всегда можете отменить последнее действие и уточнить критерий поиска.

Примечание. Инструмент Найти и заменить является достаточно мощным, но при этом требует внимательного обращения. Уточняющее слово «Pizza» было включено в поиск, чтобы не затронуть другие товары, в которых есть слово «Supreme».

Трюки с диалоговым окном Найти и заменить  29

Быстрое редактирование формул По умолчанию инструмент Найти и  заменить выполняет поиск и  замену в формулах ячеек. Это может быть очень полезно при массовом редактировании формул. На тех же трех листах North East, North West и  South для анализа данных были использованы формулы. Один из примеров формулы: =СУММЕСЛИМН($C$2:$C$21;$A$2:$A$21;E3)

Здесь используются ссылки на лист. Ссылка $C$2:$C$21 обращается к диапазону с цифрами продаж на текущем листе. Сама же таблица у нас теперь оформлена как умная, так что хотелось бы, чтобы наши ссылки приобрели новый вид, – это будет более эффективно. Таблицы на листах названы соответственно NorthEast, NorthWest и  South (пробелы в именах таблиц недопустимы). Пример таблицы NorthEast показан на рис. 1.26.

Рис. 1.26  Таблица NorthEast со столбцом Sales

Давайте посмотрим, как можно быстро заменить ссылки в столбце с продажами. 1. Откройте диалоговое окно Найти и заменить. 2. Введите строку «C$2:$C$21» в поле Найти и строку «NorthEast[Sales]» в поле Заменить на. 3. Нажмите на кнопку Параметры для открытия дополнительных настроек. 4. В списке Искать выберите пункт На листе. На всех листах нам нужно будет выполнять эту операцию отдельно, поскольку таблицы названы по-разному. 5. Убедитесь, что в списке Область поиска (Look in) стоит значение Формулы (Formulas). Полностью заполненное диалоговое окно показано на рис. 1.27.

30  Приемы Excel и инструменты для работы с данными

Рис. 1.27  Быстрое редактирование всех формул на листе

6. Нажмите на кнопку Заменить все (Replace All). Примечание. Настройки диалогового окна сохраняются между вызовами. Это бывает удобно, если вы регулярно используете эту опцию в работе, но и таит некоторые опасности. Не забывайте очищать предыдущие настройки окна перед выполнением нового поиска.

Изменение формата ячеек Да, это так. При помощи диалогового окна Найти и заменить можно даже находить, изменять и удалять настройки форматирования ячеек. К ячейкам с формулами на листах North East, North West и South применен специфический формат. Это хорошая идея, поскольку так ячейки с формулами легко отличать от остальных. И если вы захотите изменить особенности форматирования этих ячеек, вы можете с легкостью сделать это при помощи все того же диалогового окна Найти и заменить. 1. Откройте диалоговое окно Найти и заменить. 2. Нажмите на кнопку Параметры для открытия дополнительных настроек. 3. Справа от поля Найти нажмите на стрелку рядом с кнопкой Формат (Format), выберите пункт Выбрать формат из ячейки (Choose Format From Cell), как показано на рис. 1.28, и выделите любую ячейку с формулой. 4. Нажмите либо на саму кнопку Формат (Format) справа от поля Заменить на, чтобы указать форматирование вручную, либо на стрелку справа от нее и также выберите пункт Выбрать формат из ячейки (Choose Format From Cell), если на листе есть ячейки с нужным форматом.

Трюки с диалоговым окном Найти и заменить  31

Рис. 1.28  Выбор формата из ячейки

5. В списке Искать выберите пункт В  книге. Полностью заполненное диалоговое окно показано на рис. 1.29.

Рис. 1.29  Изменение форматирования при помощи инструмента Найти и заменить

6. Нажмите на кнопку Заменить все (Replace All).

Удаление значений Инструмент Найти и заменить, несмотря на свое название, не только отлично справляется с поиском и заменой значений и элементов форматирования, но также может быть использован для выборочного удаления данных. На рис.  1.30 показаны первые десять строк таблицы с  продажами, в  которую также включены строки с  итогами (Total). Для более эффективного анализа нам необходимо удалить эти строки.

32  Приемы Excel и инструменты для работы с данными

Рис. 1.30  Исходная таблица со строками для удаления

Откройте диалоговое окно Найти и заменить. Введите строку «Total» в поле Найти. В списке Искать выберите пункт На листе. Установите флажок Ячейка целиком (Match entire cell contents). Мы хотим убедиться, что в  удаляемых ячейках будет находиться только искомое слово. 5. Нажмите на кнопку Найти все (Find All). Список всех найденных ячеек, включая информацию об их адресах, будет показан ниже. Заполненное диалоговое окно с выполненным поиском показано на рис. 1.31. 1. 2. 3. 4.

Рис. 1.31  Поиск всех ячеек, содержащих слово «Total»

Трюки с диалоговым окном Найти и заменить  33

6. Убедитесь, что окно со списком найденных ячеек является активным, и нажмите сочетание клавиш Ctrl+A для выделения всех ячеек, как показано на рис. 1.32. 7. Нажмите на кнопку Закрыть (Close).

Рис. 1.32  Выбор всех найденных ячеек

8. Перейдите в  меню Главная ⇒ Удалить ⇒ Удалить строки с  листа (Home ⇒ Delete ⇒ Delete Sheet Rows), как показано на рис. 1.33.

Рис. 1.33  Удаление выбранных ячеек на листе

Удаление звездочек (*) из диапазона Повсеместно используется два основных знака подстановки, которые вы можете применять в  качестве критерия для поиска. Это вопросительный знак (?) и звездочка (*).

34  Приемы Excel и инструменты для работы с данными Эти знаки могут использоваться вместо символов, в которых вы не уверены. При этом вопросительный знак замещает собой один символ – например, строка «A?an» может означать и «Adam», и  «Alan». В то же время звездочка используется вместо любого количества неизвестных символов. К примеру, строка «L*n» может быть заменена на «London» или «Linton». Если эти символы используются в  качестве знаков подстановки, как вам найти их при необходимости? Рассмотрим сценарий, показанный на рис. 1.34. При импорте данных имена в таблице были обРис. 1.34  Список рамлены символами звездочек, и нам нужно изимпортированных имен, включая знаки подстановки бавиться от них. В данном случае мы можем использовать специальный символ «тильда» (~) перед звездочкой в поле Найти, как показано на рис. 1.35. Оставьте поле Заменить на пустым, чтобы ничем не заменять эти символы, и нажмите на кнопку Заменить все.

Рис. 1.35  Использование тильды для поиска звездочек

Тильда информирует инструмент Найти и заменить о том, что следующий за ней символ должен использоваться в составе критерия поиска, а не в качестве знака подстановки. Примечание. Этот символ также может быть использован для замены или удаления знаков вопроса. Если же вам необходимо обработать сам символ «тильда», используйте сдвоенный знак в строке поиска (~~).

Трюки с диалоговым окном Найти и заменить  35

Быстрая замена символов переноса строки Перенос строки –  еще один надоедливый символ, от которого частенько приходится избавляться на листах Excel, особенно если вы работаете с данными, полученными из внешних источников. И с этим также легко может справиться инструмент поиска и замены. На рис. 1.36 показан фрагмент листа, на котором символы переноса строки используются для разделения имен. 1. Выделите диапазон с  именами и откройте диалоговое окно Найти и заменить. Рис. 1.36  Знаки перевода строки разделяют имена в столбце B 2. Встаньте в поле Найти и нажмите сочетание клавиш Ctrl+J. В результате в строку поиска будет вставлен невидимый знак перевода строки. 3. В поле Заменить на введите запятую и  пробел (, ), как показано на рис. 1.37.

Рис. 1.37  Избавление от символов переноса строки при помощи инструмента Найти и заменить

4. Нажмите на кнопку Заменить все для подмены запятыми всех знаков перевода строки. 5. Нажмите на кнопку Перенести текст (Wrap Text) на вкладке Главная (Home), чтобы отменить перенос строк, активированный соответствующими символами. Примечание. Символ переноса строки имеет код 10 в операционной системе Windows и 13 – в Mac. Вы можете заменить эти знаки и с использованием функции CHAR с указанием соответствующего кода, заключенной внутрь функции SUBSTITUTE, если вам необходимо сделать это при помощи формул.

36  Приемы Excel и инструменты для работы с данными

Быстрое удаление каждой N-ой строки Иногда при работе с Excel приходится проявлять изобретательность, и, если искомый текст не получается обнаружить напрямую, можно создать вспомогательный столбец для выполнения задачи. В этом примере у нас есть данные о продажах со вставленными итоговыми строками, от которых нам необходимо избавиться. Эти строки помечены названиями регионов, так что на какой-то конкретный текст в данном случае мы ориентироваться не можем. Зато мы знаем, что итоги идут строго через пять строк. Чтобы решить эту задачу, создадим вспомогательный столбец с символами, причем в каждой пятой строке будем использовать символ, отличающийся от остальных, как показано на рис. 1.38. 1. В столбце C введите по символу напротив каждой продажи в первых пяти строках, при этом последний символ должен отличаться от предыдущих. 2. Выделите эти пять ячеек и протяните вниз, чтобы создать последовательность символов. Вы можете сделать это быстрее, дважды щелкнув по маркеру заполнения.

Рис. 1.38  Генерируем последовательность символов для идентификации нужных нам строк

3. В диалоговом окне Найти и заменить введите выбранный вами уникальный символ в  поле Найти и  нажмите на кнопку Найти все для поиска всех нужных нам строк. 4. Нажмите сочетание клавиш Ctrl+A для выделения всех ячеек, как показано на рис. 1.39. 5. Перейдите в  меню Главная ⇒ Удалить ⇒ Удалить строки с  листа (Home ⇒ Delete ⇒ Delete Sheet Rows), чтобы удалить каждую пятую строку.

Быстрый поиск ячеек, удовлетворяющих критерию  37

Рис. 1.39  Выбор всех ячеек с уникальным символом

бысТрый поиск ячеек, удовлеТворяющих криТерию Инструмент Выделить группу ячеек (Go To Special) невероятно полезен и  позволяет выбрать сразу все ячейки, удовлетворяющие определенному критерию. Его очень удобно использовать при проверке рабочих листов и выполнении больших задач. Файл: go-to-special.xlsx

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

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

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

Рис. 1.40  Пустые строки на листе. Плохие новости!

1. Выделите диапазон ячеек, в  которых нужно избавиться от пустых строк. В  нашем случае я  просто выделю столбец A, поскольку этого будет вполне достаточно для поиска пустых строк. 2. Нажмите на клавишу F5 для открытия окна Переход (Go To), после чего нажмите на кнопку Выделить (Special). Либо откройте в меню пункт Главная ⇒ Найти и выделить ⇒ Выделить группу ячеек (Home ⇒ Find & Select ⇒ Go To Special). 3. Установите переключатель в положение Пустые ячейки (Blanks), как показано на рис. 1.41, и нажмите на кнопку OK. Все пустые ячейки в выбранном диапазоне будут выделены. Теперь можно удалить соответствующие строки. 4. Перейдите в  меню Главная ⇒ Удалить ⇒ Удалить строки с  листа (Home ⇒ Delete ⇒ Delete Sheet Rows).

Быстрый поиск ячеек, удовлетворяющих критерию  39

Рис. 1.41  Выберите пункт Пустые ячейки в окне Выделить группу ячеек

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

Рис. 1.42  Пустые ячейки в наборе данных

40  Приемы Excel и инструменты для работы с данными 1. Выделите диапазон, в котором присутствуют пустые ячейки. В данном примере выделим столбцы с B по E. 2. Откройте в меню пункт Главная ⇒ Найти и выделить ⇒ Выделить группу ячеек, установите переключатель в положение Пустые ячейки и нажмите на кнопку OK. 3. Все пустые ячейки в  диапазоне будут выделены. При этом активной будет первая из них, что видно по рис. 1.43.

Рис. 1.43  Быстрое выделение всех пустых ячеек в диапазоне

4. Введите ноль на клавиатуре. Введенное значение появится только в активной ячейке. Нажмите сочетание клавиш Ctrl+Enter, чтобы распространить это значение на все выделенные ячейки, как показано на рис. 1.44.

Рис. 1.44  Нули во всех пустых ячейках

Быстрый поиск ячеек, удовлетворяющих критерию  41

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

Рис. 1.45  Выгруженный отчет, содержащий пустые ячейки

1. Выделите диапазон, в котором присутствуют пустые ячейки. В данном примере выделим столбцы A и B. 2. Откройте в меню пункт Главная ⇒ Найти и выделить ⇒ Выделить группу ячеек, установите переключатель в положение Пустые ячейки и нажмите на кнопку OK. 3. Все пустые ячейки в  диапазоне будут выделены. Нажмите клавишу = и  щелкните мышью по ячейке, расположенной выше активной. На рис. 1.46 это ячейка B2. 4. Нажмите сочетание клавиш Ctrl+Enter. В результате все пустые ячейки заполнятся значениями из ячеек, расположенных выше них, что видно по рис. 1.47.

42  Приемы Excel и инструменты для работы с данными

Рис. 1.46  Заполняем пустые ячейки значениями из ячеек, стоящих выше

Рис. 1.47  Итоговый вид отчета с заполненными пустыми ячейками

Быстрый поиск ячеек, удовлетворяющих критерию  43

Форматируем все ячейки с формулами При создании моделей и отчетов в Excel бывает очень непросто запомнить, в каких ячейках значения вводятся вручную, а в каких рассчитываются на основе формул. Проще всего в подобных случаях форматировать ячейки, содержащие формулы, особым образом, чтобы отличать их от ячеек с ручным вводом. Если у вас достаточно много ячеек с формулами на листе, отформатировать каждую из них отдельно будет не так легко. Позволим инструменту Выделить группу ячеек сделать всю работу за нас. 1. Откройте в меню пункт Главная ⇒ Найти и выделить ⇒ Выделить группу ячеек. 2. Установите переключатель в положение Формулы (Formulas). Здесь вы можете также уточнить, какие формулы хотите затронуть: возвращающие числа, логические значения или ошибки, если это необходимо. Мы отметим все пункты, как показано на рис. 1.48. 3. Теперь осталось отформатировать выбранные ячейки с формулами согласно вашим требованиям.

Рис. 1.48  Опция формул в диалоговом окне Выделить группу ячеек

44  Приемы Excel и инструменты для работы с данными

Сравниваем столбцы построчно При проверке отчетов часто возникает необходимость подсветить несоответствия двух значений из разных столбцов на листе. Инструмент Выделить группу ячеек прекрасно подходит для этих целей. На рис. 1.49 показан список счетов с оплаченными суммами по ним. Мы хотим сравнить значения в столбцах B и C.

Рис. 1.49  Данные со столбцами для сравнения

1. Выделите диапазон с ячейками для сравнения. В нашем случае это диапазон B2:C6. 2. Откройте в меню пункт Главная ⇒ Найти и выделить ⇒ Выделить группу ячеек. 3. Установите переключатель в  положение Отличия по строкам (Row differences), как показано на рис. 1.50, и нажмите на кнопку OK.

Рис. 1.50  Опция отличий по строкам в диалоговом окне Выделить группу ячеек

Секреты инструмента Текст по столбцам  45

Ячейки в столбце C, значения в которых не соответствуют значениям из столбца B, можно отформатировать по-особенному, чтобы эти расхождения легко было заметить, как показано на рис. 1.51.

Рис. 1.51  Форматирование, примененное для быстрой идентификации различий в данных

секреТы инсТруменТа ТексТ по сТолбцам Инструмент Текст по столбцам в Excel – далеко не новинка, но в нем содержится скрытый функционал, о котором вы могли даже не догадываться. Файл: text-to-columns.xlsx

Преобразование строк в числа Инструмент Текст по столбцам является одним из наиболее быстрых механизмов для преобразования данных в Excel. Многие недооценивают его из-за его названия, предполагающего, что данные будут разбиты по столбцам. Но это делать вовсе не обязательно. В данном примере мы будем иметь дело с классическим сценарием преобразования чисел, сохраненных в виде текста. 1. Выберите диапазон на листе, в котором хотите провести преобразование значений в числа. 2. Перейдите к пункту меню Данные ⇒ Текст по столбцам (Data ⇒ Text to Columns), чтобы открыть соответствующее диалоговое окно. 3. Оставьте выбранным пункт С  разделителями на первом шаге и  нажмите на кнопку Далее (Next). 4. Снимите все опции работы с разделителями на втором шаге, поскольку мы не намерены разбивать столбцы. Нажмите на кнопку Далее. 5. Убедитесь, что в группе Формат данных столбца (Column data format) выбран вариант Общий (General), как показано на рис.  1.52. Это по-

46  Приемы Excel и инструменты для работы с данными зволит конвертировать числа и даты при их обнаружении. Нажмите на кнопку Готово (Finish).

Рис. 1.52  Преобразование текста в число при помощи инструмента Текст по столбцам

Преобразование форматов даты

Рис. 1.53  Даты в формате MM/DD/YYYY моим Excel не распознаются

У Excel время от времени возникают проблемы с  распознаванием дат. Виной тому могут быть и разные форматы даты, и региональные настройки вашей программы. К примеру, я живу в Великобритании, и здесь формат записи MM/DD/YYYY не распознается как дата. На рис. 1.53 показан фрагмент листа с четырьмя датами в формате MM/DD/YYYY. При этом две из хранятся как текст, а две – как дата. Да и эти даты Excel распознал неправильно, поскольку ожидал входящий формат DD/MM/YYYY. Инструмент Текст по столбцам легко справится с этим всем.

1. Выделите диапазон с датами и выберите инструмент Текст по столбцам на вкладке Данные.

Секреты инструмента Текст по столбцам  47

2. Оставьте выбранным пункт С  разделителями на первом шаге и  нажмите на кнопку Далее (Next). Убедитесь, что на втором шаге все разделители отключены. 3. На третьем шаге установите переключатель в положение Дата (Date) и в выпадающем списке выберите пункт МДГ (MDY), как показано на рис. 1.54. Нажмите на кнопку Готово.

Рис. 1.54  Выберите используемый на листе формат даты

Теперь даты на листе распознаются и хранятся правильно, что видно по рис. 1.55. Инструмент Текст по столбцам можно использовать для конвертирования даты из любого формата. Например, это могут быть даты в виде текста в формате YYYYMMDD. Такое не самое очевидное использование этого инструмента мне очень нравится. Я часто использую его для исправления тысяч дат на листах за считанные секунды, и это очень впечатляет!

Рис. 1.55  Формат MM/DD/YYYY был успешно трансформирован в DD/MM/YYYY

48  Приемы Excel и инструменты для работы с данными

Преобразование международных числовых форматов С помощью инструмента Текст по столбцам можно также быстро и легко выполнять преобразования между разными числовыми форматами. У  нас в Великобритании, например, запятая используется в качестве разделителя разрядов, а точка – как десятичный разделитель. Но далеко не все страны пользуются таким форматом, так что в Excel зачастую возникает путаница при работе с файлами для разных регионов. На рис. 1.56 показан рабочий лист с числами, в которых запятые используются как десятичные разделители, а точки – как разделители разрядов. Моя версия Excel неправильно восприняла такие данные – только в девятке она узнала число. Спасибо инструменту Текст по столбцам за Рис. 1.56  Международные то, что он легко справился с этой проблемой. форматы неправильно

распознаются в Excel 1. Выделите диапазон чисел для преобразования и  откройте инструмент Текст по столбцам на вкладке Данные. 2. Оставьте выбранным пункт С  разделителями на первом шаге и  нажмите на кнопку Далее (Next). Убедитесь, что на втором шаге все разделители отключены. 3. На третьем шаге нажмите на кнопку Подробнее (Advanced). 4. Измените настройки Разделитель целой и дробной части (Decimal separator) и  Разделитель разрядов (Thousands separator) в  соответствии с данными на листе (см. рис. 1.57). 5. Нажмите OK для выхода из детальных настроек, а затем нажмите на кнопку Готово (Finish).

После этого все значения будут правильно сконвертированы, как видно на рис. 1.58.

Рис. 1.58  Числа были успешно преобразованы

Рис. 1.57  Расширенные настройки инструмента Текст по столбцам

Секреты инструмента Текст по столбцам  49

Преобразование значений с замыкающим минусом Давайте посмотрим, как запросто инструмент Текст по столбцам справится с  рабочим листом, на котором отрицательные числа характеризуются не ведущим, а замыкающим минусом, как на рис. 1.59. 1. Выделите диапазон чисел для преобразования и откройте инструмент Текст по столбцам на вкладке Данные. 2. Оставьте выбранным пункт С  разделителями на первом шаге и  нажмите на кнопку Далее Рис. 1.59  Числа (Next). Убедитесь, что на втором шаге все разс замыкающим минусом делители отключены. 3. На третьем шаге нажмите на кнопку Подробнее (Advanced) и  убедитесь, что флажок Знак минус в  конце отрицательных чисел (Trailing minus for negative numbers) установлен, как показано на рис. 1.60. По умолчанию он должен быть установлен, так что этот шаг часто будет избыточным. 4. Нажмите OK для выхода из подробных настроек, а затем нажмите на кнопку Готово (Finish). Значения были успешно преобразованы в числа с традиционным ведущим минусом, что видно по рис. 1.61.

Рис. 1.60  Настройка замыкающего минуса в числах

Рис. 1.61  Текстовые данные были преобразованы в отрицательные числа

50  Приемы Excel и инструменты для работы с данными

чТо в специальной всТавке Такого специального? Инструмент Специальная вставка (Paste Special) позволяет очень быстро манипулировать данными. Его можно использовать для простого, но очень эффективного форматирования информации на листе и выполнения других преобразований. Файл: paste-special.xlsx

Преобразование положительных значений в отрицательные Используя инструмент Специальная вставка, можно достаточно легко конвертировать положительные числа в отрицательные и наоборот. 1. Введите –1 в свободную ячейку. 2. Скопируйте это значение путем нажатия комбинации клавиш Ctrl+C. 3. Выделите диапазон ячеек с  числами, у  которых вы хотите обратить знак, и откройте меню Главная ⇒ Вставить ⇒ Специальная вставка (Home ⇒ Paste arrow ⇒ Paste Special) или используйте комбинацию клавиш Ctrl+Alt+V. 4. В открывшемся диалоговом окне специальной вставки установите переключатели в положения Значения (Values) и Умножить (Multiply), как показано на рис. 1.62. Умножение чисел в ячейках на –1, как и ожидается, превратит положительные числа в отрицательные и наоборот. Эта возможность бывает очень полезна, поскольку позволяет быстро и легко выполнять математические операции без необходимости писать формулы и затем копировать результаты.

Что в специальной вставке такого специального  51

Рис. 1.62  Преобразование положительных чисел в отрицательные посредством специальной вставки

Удаление формул из ячеек Наиболее частое применение инструмента специальной вставки заключается, пожалуй, в удалении формул из ячеек. А хотите знать, как еще можно выполнить это действие? Для этого есть небольшая хитрость. 1. Выделите диапазон с формулами, от которых вы хотите избавиться. 2. Поместите курсор в  виде перекрестия на границе диапазона и  с  зажатой правой кнопкой мыши переместите его за пределы диапазона и верните обратно. 3. Появится меню с  разными полезными опциями, показанное на рис.  1.63. Выберите пункт Копировать только значения (Copy Here as Values Only).

52  Приемы Excel и инструменты для работы с данными

Рис. 1.63  Финт правой кнопкой мыши для «убийства» формул в ячейках

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

Рис. 1.64  Колонка C явно шире остальных

Что в специальной вставке такого специального  53

1. Выделите ячейку в  столбце A (Qtr1) и  нажмите сочетание клавиш Ctrl+C. 2. Теперь выделите ячейки, лежащие в  столбцах с  B по D. Нескольких ячеек будет достаточно, совсем не обязательно выделять все столбцы. 3. Нажмите сочетание клавиш Ctrl+Alt+V для открытия диалогового окна Специальная вставка. 4. Выберите вариант Ширины столбцов (Column Widths) и нажмите на кнопку OK.

Специальная вставка с диаграммами Инструмент Специальная вставка может быть использован для быстрого обмена форматированием между графиками. Давайте для примера распространим форматирование диаграммы Income, расположенной слева на рис. 1.65, на диаграмму Expenses, стоящую справа.

Рис. 1.65  Две диаграммы с разными правилами форматирования

1. Выделите график, с  которого хотите «снять» форматирование, и нажмите сочетание клавиш Ctrl+C. 2. Теперь выделите график, которому хотите придать такой же внешний вид. 3. Откройте диалоговое окно специальной вставки, показанное на рис. 1.66, пройдя по меню Главная ⇒ Вставить ⇒ Специальная вставка. 4. Выберите опцию Форматы (Formats), поскольку данные мы переносить не хотим.

Рис. 1.66  Опции специальной вставки для графиков

Вот и все! Оба графика отформатированы одинаково, что видно по рис. 1.67.

54  Приемы Excel и инструменты для работы с данными

Рис. 1.67  Быстрый обмен форматированием между диаграммами

Глава

2 Десять мощных функций Excel

Я обожаю использовать формулы в Excel. Они – сердце рабочих листов. Именно формулы позволяют превратить статическую таблицу в динамический и интерактивный рабочий лист, способный принимать решения, изменять свое содержимое со временем и реагировать на действия пользователя. В Excel есть множество инструментов, позволяющих создавать мощные отчеты, среди которых Power Query, VBA и  Power Pivot. Но формулы попрежнему остаются главной движущей силой интеллектуальных рабочих листов. Многие пользователи Excel изучают функции с целью их применения в решении конкретной задачи. И часто источниками знаний являются их коллеги по работе или банальный Google. Это нормально. Я тоже так делаю. Но для того чтобы стать настоящим мастером в применении формул, необходимо досконально понимать, как работают те или иные функции. В Excel слишком много функций, чтобы знать их все в деталях. В данной главе мы подробно остановимся на десяти наиболее мощных функциях Excel, способствующих построению интерактивных отчетов и моделей. Вот список этих функций. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

СУММПРОИЗВ (SUMPRODUCT). УНИК (UNIQUE). СОРТ (SORT). СОРТПО (SORTBY). ФИЛЬТР (FILTER). ИНДЕКС (INDEX). ВЫБОР (CHOOSE). ПРОСМОТРX (XLOOKUP). ДВССЫЛ (INDIRECT). ПЕРЕКЛЮЧ (SWITCH).

Этот список отнюдь не призван как-то принизить остальные полезные функции Excel, такие как НАЙТИ (FIND), СУММ (SUM), ABS, ЗНАЧЕН (VALUE), ТЕКСТ (TEXT) и многие другие. Представленные здесь мощные функции не могут работать в одиночку.

56  Десять мощных функций Excel И все же именно эти функции являются настоящим двигателем динамических рабочих листов в Excel. И поэтому я назвал их мощными.

Функции – эТо прекрасно В Excel очень много функций. Каждая служит конкретной цели и достигает ее определенным способом. Все функции рабочего листа что-то возвращают. Они не могут удалять значения или форматировать их. Для этого понадобится Power Query, VBA или условное форматирование. Одни функции возвращают диапазоны, другие – значения (текстовые, числовые, логические). Некоторые функции умеют возвращать массивы и другие агрегаты. Функции разнообразны. Но все прекрасны. Эти различия в функциях могут поначалу сбивать с толку, но с приобретением опыта все потихоньку становится на свои места.

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

Форматирование диапазона в виде умной таблицы Преобразовать диапазон в умную таблицу в Excel не составит труда. Файл: tables-and-das.xlsx

1. Выделите любую ячейку внутри диапазона, который вы собираетесь преобразовать в умную таблицу, и нажмите в меню Вставка (Insert) на кнопку Таблица (Table). Также для этого подойдет сочетание клавиш Ctrl+T. 2. Убедитесь в том, что диапазон в открывшемся диалоговом окне Создание таблицы (Create Table) указан верно, а флажок Таблица с заголовками (My table has headers) установлен, как показано на рис. 2.1, и нажмите на кнопку OK.

Использование умных таблиц  57

Рис. 2.1  Удостоверьтесь, что диапазон выбран верный и флажок установлен

Все, диапазон преобразован в умную таблицу с соответствующими изменениями во внешнем виде. Далее нужно очистить форматирование, хотя это и не обязательно. Таблицы могут быть оформлены при помощи разнообразных стилей, также вы можете создать свой собственный. Но я лично предпочитаю очищать форматирование. Щелкните по любой ячейке, входящей в  таблицу, перейдите на вкладку Работа с таблицами (Table Design), раскройте список Стили таблиц (Table Styles) и нажмите на кнопку Очистить (Clear), как показано на рис. 2.2.

Рис. 2.2  Очистка стиля таблицы

58  Десять мощных функций Excel Следующий шаг очень важен. Вы должны дать созданной таблице осмысленное имя. Это имя будет использоваться в формулах, сводных таблицах, срезах и еще много где. Введите выбранное имя в  поле Имя таблицы (Table Name) на вкладке Работа с таблицами, как показано на рис. 2.3.

Рис. 2.3  Введите осмысленное имя таблицы

Данные, импортируемые в Excel, автоматически преобразуются в умные таблицы. Кроме того, такие таблицы будут повсеместно использоваться в инструментах семейства Power (Power Query и Power Pivot), о которых мы подробно поговорим в заключительных главах книги.

Преимущества использования умных таблиц Формулы, которые мы будем писать, должны корректно обрабатывать как существующие записи в таблицах, так и  строки, которые будут добавлены в  них в  будущем. Любые обновления в таблицах, включая редактирование и удаление строк, должны обрабатываться правильно. Умные таблицы отличаются своей динамикой и автоматически расширяются и сужаются при добавлении и удалении записей. Кроме того, использование таких таблиц позволяет динамически ссылаться на данные в них при написании формул. Вот, например, как при помощи функции СУММЕСЛИМН (SUMIFS) можно ссылаться на столбцы таблицы: =СУММЕСЛИМН(Sales[Sales];Sales[Region];E3)

А так мы ссылались бы на столбцы с использованием диапазонов: =СУММЕСЛИМН(C2:C9;B2:B9;E3)

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

Динамические массивы. Игра изменилась  59

Рис. 2.4  Выпадающий список с подсказками

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

Рис. 2.5  Ссылка в формуле на текущую строку

Это гораздо проще, чем указывать в формуле конкретный столбец и строку. Кроме того, такая формула будет работать во всех строках таблицы и автоматически распространяться на новые строки. Если выделить ячейку или диапазон, находящийся на другой строке, будет использована стандартная нотация вроде D3 или B2:D2. Ну, что ж, пора двигаться дальше. Это было лишь небольшое отступление о важности использования умных таблиц.

динамические массивы. игра изменилась Формулы динамических массивов (dynamic array) стали доступны подписчикам Microsoft 365 в  ноябре 2019 года и  перевернули с  ног на голову принципы написания формул в Excel. Увы, динамические массивы недоступны пользователям Excel версии 2019 и ниже. Суть этих формул заключается в том, что они автоматически распространяются на соседние ячейки при возврате множества значений. Такое поведение получило название «перенос» (spilling).

60  Десять мощных функций Excel Формулы массива – далеко не новинка для Excel, но в прошлом у них был целый ряд ограничений в использовании. В их число входило то, что пользователю необходимо было полностью выделять выходной диапазон для значений, да еще и  нажимать сочетание клавиш Ctrl+Shift+Enter. Именно по первым буквам названий этих клавиш такие формулы были названы CSEформулы. Динамические массивы лишены этих недостатков: они могут быть написаны подобно обычным формулам и запускаются обычным образом – при помощи клавиши Enter. Важность ссылок на массивы внутри формул трудно переоценить. А способность массивов динамически подгонять свои размеры под данные – это просто волшебство! В общем, динамические массивы уже здесь, встречайте! Давайте познакомимся с простым примером их использования. Файл: tables-and-das.xlsx

На рис.  2.6 показано использование функции СУММЕСЛИМН (SUMIFS) применительно к таблице Sales, которую мы только что создали. В ней употребляется содержимое ячейки E3 в качестве критерия для подсчета суммы, и эта формула должна быть протянута на все ячейки, в которых необходимо выполнить подобный расчет.

Рис. 2.6  Функция СУММЕСЛИМН (SUMIFS), требующая протягивания

Вооружившись динамическими массивами, мы можем сослаться на весь диапазон критериев (E3:E5), и формула сама перенесется (spill) для включения всех результатов: =СУММЕСЛИМН(Sales[Sales];Sales[Region];E3:E5)

Результат выполнения этой формулы показан на рис. 2.7. Синие границы обозначают диапазон переноса (spill range).

Динамические массивы. Игра изменилась  61

Рис. 2.7  Функция СУММЕСЛИМН (SUMIFS) с диапазоном переноса

Надо заметить, что показанная формула не является полностью динамической, поскольку использует ограниченный диапазон E3:E5, но для вводного примера этого достаточно. Для полной динамики формула должна ссылаться на таблицу или диапазон переноса. В данной главе мы увидим много таких примеров. Следующие важные вещи необходимо знать о  формулах динамических массивов:  ошибка #ПЕРЕНОС! (#SPILL!) появляется в  случае, если диапазон, на который формула планирует распространиться, частично занят, как показано на рис. 2.8. Исправить ее можно, удалив содержимое из ячеек, препятствующих переносу формулы;

Рис. 2.8  Ошибка #ПЕРЕНОС! (#SPILL!) возникла из-за заполненной ячейки F5

 формулы динамических массивов не могут быть использованы внутри умных таблиц. Это также приведет к возникновению ошибки #ПЕРЕНОС! (#SPILL!). В то же время их стоит применять на основании данных из таких таблиц;

62  Десять мощных функций Excel  формула содержится лишь в первой ячейке диапазона, а на остальные только распространяется. Таким образом, нельзя отредактировать ее в произвольной ячейке – только в исходной;  для ссылки на диапазон переноса формулы необходимо использовать оператор # (решетка), как показано на рис. 2.9. Это облегчает написание других формул и функций Excel вне динамических диапазонов переноса;  если открыть рабочую книгу, содержащую формулы динамических массивов, в версии Рис. 2.9  Ссылка на диапазон переноса Excel, не поддерживающей данный функционал, они будут показаны как обычные формулы массива, обрамленные фигурными скобками; {=СУММЕСЛИМН(Sales[Sales];Sales[Region];E3:E5)}

 символ @ используется в формуле для обозначения неявного пересечения. В следующей формуле используется диапазон B2:B15, а символ @ предписывает брать значение с той же строки, в которой выполняется формула. Этот символ может также использоваться при ссылках на таблицы, подразумевая неявное пересечение. =ЕСЛИ(@’Due Dates’!$B$2:$B$15=35000; "" )

Рис. 2.57  Использование функции ВЫБОР для указания столбцов с дальнейшей фильтрацией

102  Десять мощных функций Excel

просмоТрX (XLOOKUP) Доступность: Excel для Microsoft 365 Файл: xlookup.xlsx

Функция ПРОСМОТРX (XLOOKUP) была представлена как смесь из трех разных функций: ВПР, ИНДЕКС и ПОИСКПОЗ. Кроме того, у нее есть и свои полезные преимущества. Вот лишь некоторые из них:  функция ПРОСМОТРX может возвращать как значения, так и диапазоны (ВПР умеет только первое);  по умолчанию в функции ПРОСМОТРX выполняется точный поиск. Это наиболее часто используемый тип поиска;  функция ПРОСМОТРX может осуществлять устойчивый поиск по диапазонам, не зависящий от порядка столбцов;  функция ПРОСМОТРX имеет встроенный аргумент if_not_found. Теперь не нужно использовать функции ЕСЛИОШИБКА (IFERROR), ЕСНД (IFNA) для перехвата классических ошибок #N/A;  функция ПРОСМОТРX может осуществлять поиск от первого к последнему и наоборот;  функция ПРОСМОТРX выполняет как горизонтальный поиск, так и вертикальный;  функция ПРОСМОТРX допускает использование символов подстановки. Это настоящий монстр, а не функция. Вот ее синтаксис: =ПРОСМОТРX(lookup_value; lookup_array; return_array; [if_not_found]; [match_mode]; [search_mode])

где:     

lookup_value: значение, которое вы ищете; lookup_array: массив или диапазон для поиска; return_array: возвращаемый массив или диапазон; [if_not_found]: значение, возвращаемое, если поиск не дал результата; [match_mode]: 0 для осуществления четкого поиска (значение по умолчанию), –1 для четкого поиска или возврата следующего значения по убыванию, 1 для четкого поиска или возврата следующего значения по возрастанию, 2 для использования символов подстановки;  [search_mode]: 1 для поиска от первого к  последнему (значение по умолчанию), –1 для поиска от последнего к первому, 2 для двоичного поиска по возрастанию, –2 для двоичного поиска по убыванию.

ПРОСМОТРX (XLOOKUP)  103

Быстрый пример функции ПРОСМОТРX Начнем с классического примера использования функции ПРОСМОТРX, после чего рассмотрим несколько нестандартных способов ее применения. В формуле, показанной ниже, функция ПРОСМОТРX используется для осуществления четкого поиска по ID сотрудника и  получения его имени, что видно по рис.  2.58. В  данном случае потребуется использовать всего три аргумента, поскольку функция ПРОСМОТРX осуществляет поиск на точное совпадение по умолчанию: =ПРОСМОТРX(A2;Staff[ID];Staff[Name])

В функции ПРОСМОТРX для поиска используется целый массив или диапазон, и в таком же виде возвращается результат. В формуле мы использовали ссылки на таблицу с именем Staff.

Рис. 2.58  Использование функции ПРОСМОТРX для выполнения четкого поиска

Устойчивый поиск по диапазону Функцию ПРОСМОТРX можно использовать для выполнения устойчивого поиска по диапазону, который не ломается в случае, если данные в диапазоне поиска не отсортированы. Хотя чаще в работе требуется выполнять четкий поиск, поиск по диапазону также нередко приходит на помощь. В примере, который мы рассмотрим в данном разделе, такой тип поиска будет гораздо более эффективным по сравнению с применением множества условных функций, таких как ЕСЛИМН (IFS), ПЕРЕКЛЮЧ (SWITCH) и ВЫБОР (CHOOSE). В формуле, приведенной ниже, функция ПРОСМОТРX используется для расчета скидки на основании суммы покупок, как видно на рис. 2.59: =ПРОСМОТРX(B2;discounts[Spent];discounts[Discount];;-1)

104  Десять мощных функций Excel Как видите, значения в столбце Spent таблицы Discounts идут не по порядку. Например, цифра 200 располагается между 750 и 1000, но это не мешает функции ПРОСМОТРX исправно выполнять свою работу. Параметр if_not_found мы проигнорируем, а в параметр match_mode передадим значение –1, чтобы осуществлялся поиск по убыванию значения.

Рис. 2.59  Использование функции ПРОСМОТРX для выполнения устойчивого поиска по диапазону

Поиск по нескольким столбцам Зачастую пользователям Excel требуется выполнить поиск сразу по нескольким столбцам с точным совпадением, и функция ПРОСМОТРX позволяет это сделать. В рассматриваемом примере у нас есть таблица с именем Employees, показанная на рис. 2.60, и нам необходимо найти зарплату сотрудника по имени и фамилии и вывести ее в ячейке C2. Таким образом, нам нужно будет осуществить поиск по двум столбцам. Сделать это можно при помощи следующей формулы: =ПРОСМОТРX(A2&B2;Employees[First Name]&Employees[Last Name];Employees[Salary])

Символ амперсанда (&) используется для объединения содержимого ячеек A2 и B2 и столбцов First Name и Last Name в критерии и диапазоне поиска соответственно.

ПРОСМОТРX (XLOOKUP)  105

Рис. 2.60  Поиск по нескольким столбцам при помощи функции ПРОСМОТРX

Поиск последнего вхождения Помимо традиционного поиска от первой строки к  последней функция ПРОСМОТРX предоставляет возможность искать и в обратном порядке. Это бывает очень удобно, когда вам необходимо найти последнее вхождение искомой строки в диапазоне. Примечание. Функция ПОИСКПОЗX (XMATCH) также обладает подобным функционалом и может быть использована совместно с функцией ИНДЕКС для осуществления гибкого поиска.

Рассмотрим пример, в котором у нас есть таблица с именем Monthly_Sales, и нам необходимо вернуть последнюю сумму продажи по выбранному менеджеру. Таблица упорядочена по месяцам, так что чисто технически нам нужно получить значение суммы продаж из последнего вхождения нужного нам менеджера (ячейка E2) в таблице. Допустим, менеджеры в нашей компании идентифицируются по первым двум буквам. И  мы будем использовать символы подстановки, чтобы при поиске учитывать только эти две значимые буквы. Пропишем в  ячейке F2 формулу, приведенную ниже. Результат показан на рис. 2.61: =ПРОСМОТРX(E2&"*";Monthly_Sales[Sales Person Ref];Monthly_Sales[Total];;2;-1)

106  Десять мощных функций Excel Как видите, мы добавили к критерию поиска из ячейки E2 символ подстановки * (звездочка), чтобы поиск выполнялся лишь по первым буквам вхождения. В качестве параметра match_mode мы передали значение 2, чтобы разрешить поиск с использованием символов подстановки, а для параметра search mode задали значение –1, чтобы поиск выполнялся не с начала таблицы, а с конца.

Рис. 2.61  Поиск в обратную сторону и использование символов подстановки в функции ПРОСМОТРX

Двумерный поиск Что может быть лучше функции ПРОСМОТРX? Только две функции ПРОСМОТРX! И именно это нам необходимо, чтобы реализовать на практике продвинутый двумерный поиск. Ранее в этой главе мы уже показывали пример с использованием функции ИНДЕКС и двух функций ПОИСКПОЗ – для перебора таблицы по горизонтали и вертикали. Этот подход легче будет реализовать при помощи функции ПРОСМОТРX. В следующем примере нам необходимо будет вернуть продажи по товару, указанному в ячейке A2, и городу из ячейки B1, как показано на рис. 2.62. В представленной ниже формуле вложенная функция ПРОСМОТРX выполняет поиск города (ячейка B1) в заголовках таблицы и возвращает значения для внешней функции ПРОСМОТРX по выбранному товару: =ПРОСМОТРX(A2;Store_Sales[Product]; ПРОСМОТРX(B1;Store_Sales[#Headers];Store_Sales[#Data]) )

ПРОСМОТРX (XLOOKUP)  107

Рис. 2.62  Двумерный поиск при помощи функции ПРОСМОТРX

Можно лучше узнать, как работает эта сложная формула, если выбрать только вторую функцию ПРОСМОТРX в строке формул и нажать на клавишу F9 для ее вычисления. Убедитесь, что полностью выделили вторую функцию. В результате вы увидите массив значений, возвращенных для выбранного города (у нас это Plymouth). После этого внешняя функция ПРОСМОТРX определит нужное значение для выбранного товара (у нас это 453 для товара Fruit): =ПРОСМОТРX(A2;Store_Sales[Product]; {537;536;453;402;110} )

Нажмите на клавишу Esc, когда закончите разбор формулы, чтобы массив значений не сохранился. Примечание. Клавиша F9 служит для расчета значений формул. Этого же можно добиться, нажав на кнопку Пересчет (Calculate Now) на вкладке Формулы (Formulas).

Динамическое суммирование значений с функцией СУММЕСЛИМН Прелесть новых функций состоит в том, как они взаимодействуют друг с другом, и функция ПРОСМОТРX не исключение. Ее очень удобно использовать в  связке с  другими функциями для возврата диапазонов или значений на основании выбора пользователя. В следующем примере попробуем просуммировать продажи по товару, выбранному в ячейке A2, и магазину из ячейки B1, как показано на рис. 2.63. В формуле, приведенной ниже, функция ПРОСМОТРX используется для получения диапазона суммирования для функции СУММЕСЛИМН. Она возвращает диапазон значений для указанного в ячейке B1 города, а функция СУММЕСЛИМН делает все остальное: =СУММЕСЛИМН(ПРОСМОТРX(B1;Sales[#Headers];Sales);Sales[Product];A2)

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

Рис. 2.63  Совместное использование функций ПРОСМОТРX и СУММЕСЛИМН для динамического суммирования в диапазонах

двссыл (INDIRECT) Доступность: все версии Excel Файл: indirect.xlsx

Функция ДВССЫЛ (INDIRECT) позволяет создавать динамические ссылки на рабочие листы, диапазоны, таблицы и предопределенные имена вместо того, чтобы вводить их в формулы вручную. При этом ссылки в формуле позже могут измениться без непосредственного внесения изменений вручную. Синтаксис функции ДВССЫЛ очень прост: =ДВССЫЛ(ref_text; [a1])

где:  ref_text: ссылка, представленная в виде текста;  [a1]: логическое значение, указывающее на то, какой тип ссылки используется в первом аргументе. Введите True или проигнорируйте этот

ДВССЫЛ (INDIRECT)  109

параметр, если вы используете тип ссылок A1, и False, если применяете ссылки вида R1C1.

Возвращаем таблицу на основании выбора пользователя В данной книге мы много внимания уделяем использованию умных таблиц как основы для ваших формул. Это значительно облегчает осуществление ссылок на данные и помогает добавить формулам динамики. Если вы собираетесь создавать динамические ссылки при помощи функции ДВССЫЛ, вы должны понимать принципы обращения к различным областям таблиц. Чтобы узнать, какие области таблиц существуют, введите знак = (равно) в строке ввода формул, после чего укажите имя таблицы и поставьте открывающую квадратную скобку ([). В результате отобразится список доступных элементов таблицы, как показано на рис. 2.64.

Рис. 2.64  Список доступных элементов таблицы

На рис. 2.65 показаны три таблицы с именами London, Auckland и Dublin. Также в ячейке B2 располагается выпадающий список, в котором пользователь может выбрать нужную ему таблицу.

Рис. 2.65  Три таблицы с продажами на выбор при помощи функции ДВССЫЛ

110  Десять мощных функций Excel Мы будем копировать таблицу в диапазон на рабочем листе, при этом ее в дальнейшем можно будет использовать в формулах с участием таких формул, как ПРОСМОТРX и СЧЁТЕСЛИМН. В ячейке B4 мы можем использовать следующую формулу для возврата всей таблицы, включая заголовки, как показано на рис. 2.66: =ДВССЫЛ(B2&"[#All]")

Функция ДВССЫЛ соединит значение из ячейки B2 с текстом в двойных кавычках и вернет результат как ссылку. Показанная техника использует движок создания динамических массивов и распространяет таблицу на соседние ячейки для ее полного размещения. Это здорово облегчает выбор нужной нам таблицы в зависимости от значения, указанного в списке. Здесь мы вернули все содержимое таблицы. Но бывает необходимо отобразить только конкретную область таблицы или все области по отдельности, чтобы можно было обращаться к  ним в  формулах, диаграммах и  ячейках с проверкой значений. К примеру, вы можете агрегировать суммы продаж. Следующая формула, результат выполнения которой показан на рис. 2.67, возвращает только заголовки таблицы: =ДВССЫЛ(B2&"[#Headers]")

Рис. 2.67  Использование функции ДВССЫЛ для возвращения заголовков таблицы

Рис. 2.66  Использование функции ДВССЫЛ для возврата всей таблицы

Можно вернуть и один столбец Product Name, для чего достаточно воспользоваться следующей формулой: =ДВССЫЛ(B2&"[Product Name]")

Результат выполнения этой формулы показан на рис. 2.68. После этого можно отдельно вернуть столбец с продажами, как показано на рис. 2.69: =ДВССЫЛ(B2&"[Sales]")

ДВССЫЛ (INDIRECT)  111

Рис. 2.68  Использование функции ДВССЫЛ для возвращения одного столбца из таблицы

Рис. 2.69  Отдельные диапазоны для разных колонок

Теперь можно обращаться к этим столбцам с обособленными диапазонами по отдельности. Например, следующая формула поможет просуммировать продажи: =СУММ(C5#)

Если нам нужно, чтобы итоги по таблице считались без вывода таблицы на рабочий лист, можно воспользоваться следующей формулой: =СУММ(ДВССЫЛ(B2&"[Sales]"))

Ссылка на другие листы при помощи функции ДВССЫЛ Вдобавок к осуществлению ссылок на элементы таблиц вы можете также при помощи функции ДВССЫЛ ссылаться на другие листы прямо из содержимого ячеек. Представьте, что у вас есть три рабочих листа с именами Auckland, London и New York. В ячейке C10 на каждом листе содержится сумма по продажам, которую мы и хотим получить. На общем листе, из которого мы хотим обращаться к нашим листам, в ячейке B3 находится выпадающий список, содержащий имена листов: Auckland, London и New York. Следующая формула, результат выполнения которой показан на рис. 2.70, будет динамически ссылаться на нужный нам лист и извлекать из него сумму продаж: =ДВССЫЛ("’"&B3&"’!C10")

112  Десять мощных функций Excel Одинарные кавычки или апострофы (‘) обрамляют имя таблицы, что необходимо делать, если оно может содержать пробелы. В нашем случае один из листов называется New York, так что это действительно имеет значение. Полезно будет каждый раз использовать эту технику при написании формул с участием функции ДВССЫЛ – просто на всякий случай. Следом за именем таблицы и перед ссылкой на конкретную ячейку ставится восклицательный знак (!).

Рис. 2.70  Использование функции ДВССЫЛ для создания динамических ссылок на рабочие листы

переключ (SWITCH) Доступность: Excel 2019, Excel для Microsoft 365 Файл: switch.xlsx

Функция ПЕРЕКЛЮЧ (SWITCH) сверяет переданное значение (выражение) со списком значений и возвращает первое найденное совпадение. Это очень лаконичная функция, позволяющая избегать употребления множества вложенных условных конструкций. Синтаксис функции ПЕРЕКЛЮЧ следующий: =ПЕРЕКЛЮЧ(expression; value1; result1; [значение по умолчанию или value2; result2])

где:  expression: выражение, которое будет сравниваться со значениями value1, value2 и т. д.;  value1: значение, с которым будет сравниваться выражение из первого параметра;  result1: возвращаемое значение в случае равенства переданного выражения и первого значения;  [значение по умолчанию или value2; result2]: список оставшихся значений для сравнения или значение, возвращаемое по умолчанию в случае, если совпадений обнаружено не будет.

ПЕРЕКЛЮЧ (SWITCH)  113

Проверка текстовых значений Функция ПЕРЕКЛЮЧ довольно проста для понимания и применения и является отличной альтернативой вложенным условным конструкциям. Вы всего один раз указываете выражение для проверки, после чего перечисляете возможные варианты. В случае вложенных условий вам пришлось бы каждый раз повторять исходное выражение. Представьте, что у вас есть таблица с именем Memberships, в первом столбце которой (Grade) могут присутствовать три значения, соответствующие статусу членства: Platinum, Gold или Silver, как показано на рис.  2.71. Нам необходимо в зависимости от статуса начислять суммы взносов (fee) в соответствии со следующими правилами: Platinum – 90, Gold – 65, а Silver – 50. Введем следующую формулу в ячейку B2: =ПЕРЕКЛЮЧ([@Grade];"Platinum";90;"Gold";65;"Silver";50)

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

Рис. 2.71  Проверка значений при помощи функции ПЕРЕКЛЮЧ

Последним параметром функция ПЕРЕКЛЮЧ может принимать значение, которое будет возвращено по умолчанию в случае отсутствия точных совпадений с предложенными вариантами. В следующей формуле мы в качестве значения по умолчанию передадим текст «No match»: =ПЕРЕКЛЮЧ([@Grade];"Platinum";90;"Gold";65;"Silver";50;"No match")

Не думаю, что это уместно в данном случае. Но если значение по умолчанию не передать, в случае отсутствия совпадений вы увидите ошибку #N/A. Как мы уже говорили, функция ПЕРЕКЛЮЧ предлагает гораздо более лаконичный способ употребления множественных условий по сравнению с вложенными функциями ЕСЛИ (IF). Взгляните на следующую формулу, в которой

114  Десять мощных функций Excel выражение [@Grade] употребляется несколько раз. Для сравнения, в функции ПЕРЕКЛЮЧ это выражение присутствовало лишь один раз: =ЕСЛИ([@Grade]="Platinum";90; ЕСЛИ([@Grade]="Gold";65; ЕСЛИ([@Grade]="Silver";50;"No match") ) )

Даже с  использованием функции ЕСЛИМН (IFS) невозможно получить столь же лаконичную и «чистую» формулу, как с применением функции ПЕРЕКЛЮЧ. Да, скобок в  этом случае будет поменьше, но от множественных упоминаний выражения [@Grade] избавиться не удастся: =ЕСЛИМН([@Grade]="Platinum";90;[@Grade]="Gold";65;[@Grade]="Silver";50)

Примечание. Создание таблицы поиска и использование функции ПРОСМОТРX для поиска и возврата сумм взносов было бы в данном случае еще более предпочтительным вариантом.

Использование логических операторов

Рис. 2.72  Использование функции ПЕРЕКЛЮЧ для расчета скидки на основании количества лет

Для использования с функцией ПЕРЕКЛЮЧ логических операторов, таких как >, < и =, есть небольшой трюк, заключающийся в  том, что выражению нужно присвоить значение TRUE (ИСТИНА). Давайте применим функцию ПЕРЕКЛЮЧ в алгоритме расчета скидки на основании количества лет, в течение которых покупатель приобретает наши товары, как показано на рис.  2.72. Тем клиентам, которые с  нами уже восемь лет и  более, мы присвоим скидку 15 %, за четыре года и более дадим 10 %, а если покупатель приобретает нашу продукцию меньше четырех лет, скидки не будет: =ПЕРЕКЛЮЧ(ИСТИНА;[@Years]>=8;15%;[@Years]>=4;10%;0%)

Порядок, в  котором перечислены значения в  функции ПЕРЕКЛЮЧ, исключительно важен, поскольку проверка выражения выполняется строго от первой пары к последней. К примеру, 9 больше, чем 8 и 4, а значит, нам необходимо сначала сравнить выражение с восьмеркой. Использование значения TRUE (ИСТИНА) в выражении позволяет писать такие конструкции, как [@Years]>=8.

ПЕРЕКЛЮЧ (SWITCH)  115

Использование ПЕРЕКЛЮЧ с другими функциями В выражении и  проверочных значениях, передаваемых в  функцию ПЕРЕКЛЮЧ, также могут использоваться формулы. Это открывает широкие возможности. Скажем, у вас есть таблица с именем Work_Pay с датами и отработанными часами. Тариф почасовой оплаты в субботу и воскресенье отличается от будних дней. В показанной ниже формуле мы использовали функцию ДЕНЬНЕД (WEEKDAY) для проверки дня недели. Она возвращает порядковый день недели, а вторым параметром в нашем случае принимает значение 2, что символизирует начало недели с  понедельника. Таким образом, порядковый номер у субботы будет 6, а у воскресенья 7: =ПЕРЕКЛЮЧ( ДЕНЬНЕД([@Date];2); 6;[@Hours]*20.5;7;[@Hours]*18.5;[@Hours]*16.5 )

Функция ПЕРЕКЛЮЧ сравнивает выражение сначала с субботой (6) и присваивает соответствующий тариф, затем с  воскресеньем (7) и делает то же самое. В  виде значения по умолчанию возвращается тариф будних дней, умноженный на количество отработанных часов.

Рис. 2.73  Использование формул для выражения и значений в функции ПЕРЕКЛЮЧ

Глава

3 Продвинутые техники форматирования

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

условное ФормаТирование Файл: conditional-formatting.xlsx

Условное форматирование (Conditional Formatting) является одной из наиболее распространенных и полезных техник в Excel. С помощью условного форматирования можно добиться очень многого, особенно если научиться правильно использовать формулы в создаваемых правилах. В этом разделе мы рассмотрим множество полезных примеров применения условного форматирования на практике.

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

Условное форматирование  117

Обычно правила условного форматирования применяются к  отдельным ячейкам, но, если у вас есть таблица из нескольких столбцов, отформатированные ячейки могут и не попасть в зону видимости. Взгляните на рис.  3.1, на котором показана таблица с  перечнем членов клуба с датой вступления и текущим статусом. Нам бы хотелось как-то выделить целые строки (столбцы A:D) с членами, обладающими золотым статусом (Gold).

Рис. 3.1  Таблица со списком членов клуба и их статусами

Как и в предыдущей главе, которая была посвящена десяти наиболее мощным функциям Excel, здесь мы продолжим использовать умные таблицы, помогающие сохранить динамику данных и выполнять их автоматическое обновление при добавлении новых строк. 1. Выделите все четыре столбца таблицы. Убедитесь, что вы выделяете именно столбцы вашей умной таблицы, а не рабочего листа. Стрелка при наведении на заголовки листа и таблицы показывается одна и та же, так что очень легко начать выделять не таблицу, а  весь лист. На рис. 3.2 видно, что при выделении данных в таблице область выделения заканчивается на девятой (последней) строке, тогда как выделение столбцов на листе приведет к подсветке всех 1 048 576 строк. 2. Перейдите в меню Главная ⇒ Условное форматирование ⇒ Создать правило ⇒ Использовать формулу для определения форматируемых ячеек (Home ⇒ Conditional Formatting ⇒ New Rule ⇒ Use a formula to determine which cells to format). 3. Введите в появившееся поле формулу, показанную на рис. 3.3. В столбце C содержатся текущие статусы членов клуба, а область выделения начинается со второй строки на листе. Знак доллара ($) перед указанием столбца C фиксирует эту колонку, тогда как номер строки будет свой для каждой записи в таблице: =$C2="Gold"

118  Продвинутые техники форматирования

Рис. 3.2  Выделение таблицы и выделение столбцов на листе

Рис. 3.3  Правило условного форматирования для целой строки

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

В условном форматировании вы не можете использовать ссылки на таблицы вроде [@Membership] подобно тому, как делали это в  формулах

Условное форматирование  119

в предыдущей главе. И хотя мы не ссылаемся на умную таблицу напрямую, условное форматирование будет распространяться на строки, добавленные в таблицу. 4. Нажмите на кнопку Формат (Format) для указания правил форматирования. Нажмите на кнопку OK по завершении настройки. В результате условное форматирование применяется построчно, как показано на рис. 3.4. При необходимости можно дополнить действующие правила новыми. Примечание. Условное форматирование применяется только в случае, если выражение дает результат True. Любое число, отличное от нуля, воспринимается как True.

Рис. 3.4  В таблице подсвечены члена клуба с золотым статусом

Условное форматирование по нескольким столбцам Теперь приступим к  настройке условного форматирования на основании значений нескольких столбцов. В данном примере мы также будем работать с таблицей, в которой перечислены члены клуба с текущими статусами. На этот раз мы хотим выделить записи о членах клуба с золотым статусом и сроком членства, равным или большим пяти годам. 1. Выделите все четыре столбца таблицы. 2. Перейдите в меню Главная ⇒ Условное форматирование ⇒ Создать правило ⇒ Использовать формулу для определения форматируемых ячеек (Home ⇒ Conditional Formatting ⇒ New Rule ⇒ Use a formula to determine which cells to format).

120  Продвинутые техники форматирования 3. Впишите в  появившееся поле формулу, показанную ниже. В  ней используется функция И (AND), требующая, чтобы все переданные условные параметры давали результат True. =И($B2="Gold";$C2>=5)

4. Нажмите на кнопку Формат (Format), чтобы задать нужное форматирование. Как видите, только первые два члена с золотым статусом находятся в клубе более четырех лет, что и показано на рис. 3.5.

Рис. 3.5  Правило двойного условного форматирования

Давайте пойдем дальше и отформатируем записи о людях с золотым или серебряным статусом и сроком членства более четырех лет. Проследуйте по меню Главная ⇒ Условное форматирование ⇒ Управление правилами ⇒ Изменить правило (Home ⇒ Conditional Formatting ⇒ Manage Rules ⇒ Edit Rule). Для удовлетворения перечисленным условиям формула должна быть такой, как показано ниже. В  ней совместно используются функции И  (AND) и ИЛИ (OR): =И(ИЛИ($B2="Gold";$B2="Silver");$C2>=5)

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

Условное форматирование  121

Форматирование приближающихся дат Часто условное форматирование в  Excel применяется для отслеживания крайних сроков событий или дат окончания сроков действия. В представленной на рис.  3.6 таблице перечислены имена сотрудников с датами окончания действия контракта. Нам требуется подсветить особым форматом сотрудников с:  истекшей датой контракта;  датой контракта, истекающей в течение ближайшего 21 дня.

Рис. 3.6  Таблица с именами сотрудников и датами контрактов

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

1. Выделите столбец Expired Date в таблице. 2. Перейдите в меню Главная ⇒ Условное форматирование ⇒ Правила выделения ячеек ⇒ Меньше (Home ⇒ Conditional Formatting ⇒ Highlight Cells Rules ⇒ Less Than). 3. Введите следующую формулу в  поле слева, как показано на рис 3.7. Функция СЕГОДНЯ (TODAY) возвращает текущую дату. =СЕГОДНЯ()

4. Выберите в выпадающем списке справа нужный вам тип форматирования. При применении этого правила мы легко заметим, что у Йоши Латимера (Yoshi Latimer) истек срок действия контракта, что видно по рис. 3.8.

122  Продвинутые техники форматирования

Рис. 3.7  Форматирование ячеек с датой меньше текущей

Рис. 3.8  Условное форматирование истекших дат

Теперь давайте выделим даты контрактов, которые в течение 21 дня утратят свою актуальность. 1. Выделите столбец Expired Date в таблице. 2. Перейдите в меню Главная ⇒ Условное форматирование ⇒ Правила выделения ячеек ⇒ Между (Home ⇒ Conditional Formatting ⇒ Highlight Cells Rules ⇒ Between). 3. В первом поле введите формулу =СЕГОДНЯ(), а во втором – =СЕГОДНЯ()+21, как показано на рис.  3.9. Это позволит выделить даты, входящие в диапазон между сегодняшним числом и датой, отстоящей от сегодняшней на 21 день. 4. Выберите в выпадающем списке справа нужный вам тип форматирования.

Рис. 3.9  Выделение дат в интервале ближайшего 21 дня

Условное форматирование  123

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

Рис. 3.10  Условное форматирование истекших дат и дат в интервале ближайшего 21 дня

Форматирование выходных дней и других особых дат Зачастую пользователям Excel необходимо подсвечивать в  своих таблицах какие-то особые даты. Обычно это выходные дни, поскольку в зависимости от вашей области деятельности в  эти дни продажи могут быть низкими, а может их не быть вовсе. Бывают и другие важные или особые даты, такие как праздничные дни, контрольные точки проектов, даты, когда офис не работает, финансовые дедлайны и другие даты. На рис. 3.11 показана таблица с продажами и отдельно таблица с особыми датами. Давайте закрасим календарные выходные дни одним цветом, а особые даты – другим. Для начала займемся выходными днями. 1. Мы будем форматировать строки целиком, так что выделите всю таблицу. 2. Перейдите в меню Главная ⇒ Условное форматирование ⇒ Создать правило ⇒ Использовать формулу для определения форматируемых ячеек (Home ⇒ Conditional Formatting ⇒ New Rule ⇒ Use a formula to determine which cells to format). 3. Введите в  появившееся поле следующую формулу, показанную на рис.  3.12. В  ней мы используем функцию ДЕНЬНЕД (WEEKDAY) для проверки порядкового номера дня недели. Переданная вторым параметром двойка означает, что неделя у нас начинается с понедельника, так что выходным будут соответствовать порядковые номера дней недели, превышающие 5. =ДЕНЬНЕД($A2;2)>5

124  Продвинутые техники форматирования

Рис. 3.11  Таблица продаж и таблица особых дат

Рис. 3.12  Форматирование выходных дней

Условное форматирование  125

4. Нажмите на кнопку Формат (Format) для указания правил форматирования. Теперь приступим к выделению особых дат. 1. Выделите все столбцы таблицы и  создайте новое правило условного форматирования с формулой в качестве критерия, как уже делали это ранее. 2. Введите в появившееся поле формулу, показанную на рис. 3.13. В ней используется функция СЧЁТЕСЛИМН (COUNTIFS) для подсчета количества вхождений дат в таблицу особых дат. Помните, что любое число, отличное от нуля, приравнивается к True, так что если дата присутствует в таблице, результат всегда будет True: =СЧЁТЕСЛИМН($F$2:$F$5;$A2)

Рис. 3.13  Использование функции СЧЁТЕСЛИМН для определения вхождения даты в список

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

126  Продвинутые техники форматирования

Рис. 3.14  Форматирование выходных дней и особых дат

Если бы нам нужно было форматировать выходные дни и особые даты из отдельной таблицы одинаково, можно было бы создать единое правило со следующей формулой: =ИЛИ(ДЕНЬНЕД($A2;2)>5;СЧЁТЕСЛИМН($F$2:$F$5;$A2))

Функция ИЛИ (OR) обеспечивает результат выражения True в случае выполнения как минимум одного из двух условий.

Сравнение двух списков Условное форматирование прекрасно подходит для визуализации различий между списками. Какие элементы присутствуют в обоих списках? Или какие из элементов есть в одном в списке, но отсутствуют в другом? Давайте взглянем на два списка гостей, представленных на рис. 3.15. Первая таблица называется Attendees1, а  вторая – Attendees2. Нам бы хотелось как-то пометить людей из левого списка, также присутствующих в правом списке.

Условное форматирование  127

Рис. 3.15  Два списка гостей для сравнения

1. Выделите обе колонки в таблице Attendees1. 2. Перейдите в меню Главная ⇒ Условное форматирование ⇒ Создать правило ⇒ Использовать формулу для определения форматируемых ячеек (Home ⇒ Conditional Formatting ⇒ New Rule ⇒ Use a formula to determine which cells to format). 3. В появившемся поле введите следующую формулу и  задайте нужное вам оформление: =СЧЁТЕСЛИМН($E$2:$E$8;$A2)

Имена людей из таблицы Attendees1, также присутствующих в таблице At­ tendees2, будут отмечены, как показано на рис. 3.16. Приведенная формула сравнивает таблицы по уникальному идентификатору (ID). Любое число, отличное от нуля, в логических выражениях приравнивается к True, так что если ID присутствует в правом списке, для него будет возвращено значение True. Примечание. При создании правил условного форматирования вы не можете использовать ссылки на таблицы. И все же, несмотря на жестко указанный диапазон $E$2:$E$8, форматирование будет распространяться и на добавленные в таблицу строки.

Если бы нам необходимо было отметить людей из левого списка, не входящих в правую таблицу, можно было бы добавить к нашей формуле =0, как показано ниже: =СЧЁТЕСЛИМН($E$2:$E$8;$A2)=0

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

128  Продвинутые техники форматирования

Рис. 3.16  Форматирование элементов, присутствующих в обеих таблицах

Рис. 3.17  Люди, присутствующие в левом списке и отсутствующие в правом

Наборы значков для отображения изменений Использовать наборы значков (icon sets) или иконок совместно с условным форматированием – прекрасная идея. Так вы сможете размещать в таблицах стрелки, флажки, сигналы светофора и другие значки для лучшего восприятия динамики показателей и прогресса в достижении поставленных целей. Рассмотрим таблицу продаж по менеджерам за предыдущую и текущую недели, показанную на рис.  3.18. Предварительно мы создали столбец, демонстрирующий изменение показателя продаж на этой неделе по сравнению с предыдущей, со следующей формулой: =([@[This Week]]-[@[Last Week]])/[@[Last Week]]

Условное форматирование  129

Рис. 3.18  Продажи по менеджерам за минувшую и нынешнюю недели

Мы бы хотели отображать зеленую и красную стрелки для демонстрации роста и падения продаж соответственно. При этом нас не интересуют конкретные цифры в процентах, так что их мы скроем. 1. Выделите столбец Variance в таблице. 2. Перейдите в меню Главная ⇒ Условное форматирование ⇒ Создать правило (Home ⇒ Conditional Formatting ⇒ New Rule) – это быстрее, чем выбирать стрелки в наборе значков и затем возвращаться для их редактирования. 3. Выберите в выпадающем списке Стиль формата (Format Style) пункт Наборы значков (Icon Sets), а  затем  – изображения со стрелками в списке Стиль значка (Icon Style), как показано на рис. 3.19. 4. Поменяйте в  столбце Тип (Type) значение Процент (Percentage) на Число (Number). Также измените логический символ >= на > для зеленой стрелки. Убедитесь, что оба значения выставлены в ноль. 5. Установите флажок Показывать только значок (Show Icon Only). В результате, как мы видим по рис. 3.20, по двум менеджерам продажи за нынешнюю неделю упали. Для набора значков также может быть использована любая формула. Это дает большую гибкость при составлении правил условного форматирования. Мы могли бы в предыдущем примере со сравнением двух списков использовать набор значков вместо форматирования строк, применив функцию СЧЁТЕСЛИМН в столбце. Подумайте о том, какие еще формулы вы могли бы использовать применительно к условному форматированию и какие преимущества это может дать.

130  Продвинутые техники форматирования

Рис. 3.19  Правило форматирования для отображения стрелок

Рис. 3.20  Набор стрелок для обозначения роста и падения продаж при сравнении двух недель

Гистограммы для сравнения значений Гистограммы или столбики данных (data bars) помогают быстро определить максимальное и минимальное значение в диапазоне. Это делает их весьма полезными при сравнении значений. Рассмотрим таблицу с продажами по товарам. Будем использовать гистограммы для сравнения показателей по товарам.

Условное форматирование  131

1. Выделите столбец со значениями. 2. Перейдите в  меню Главная ⇒ Условное форматирование ⇒ Гистограммы (Home ⇒ Conditional Formatting ⇒ Data bars). Выберите цвет, который хотите использовать (лично я предпочитаю градиентной заливке сплошную). Теперь в столбце со значениями будут показаны и  закрашенные столбики, что видно по рис. 3.21. По умолчанию шкала закраски будет действовать на всю ширину столбца таким образом, что максимальное значение будет харак- Рис. 3.21  Столбики данных, сопровождающие продажи теризоваться полностью закрашенной ячейкой. товаров Чтобы изменить такое поведение, а  также произвести другие настройки столбиков данных, проследуйте по меню Главная ⇒ Условное форматирование ⇒ Управление правилами ⇒ Изменить правило (Home ⇒ Conditional Formatting ⇒ Manage Rules ⇒ Edit Rule). Откроется диалоговое окно Изменение правила форматирования (Edit Formatting Rule), показанное на рис. 3.22, в котором вы сможете внести все необходимые изменения, включая минимальное и максимальное значение.

Рис. 3.22  Окно настройки столбиков данных

132  Продвинутые техники форматирования

Гистограммы для показа прогресса в достижении цели Столбики данных или гистограммы также бывает очень удобно использовать для визуализации прогресса в достижении цели. К примеру, у нас есть задачи и проценты их выполнения, как показано на рис. 3.23. Давайте визуализируем этот прогресс в соседнем столбце с использованием гистограмм. 1. Создайте новый столбец в  таблице и  присвойте ему формулу =[@[% Complete]], чтобы связать его с существующим. 2. Выделите добавленный столбец и перейдите в меню Главная ⇒ Условное форматирование ⇒ Гистограммы ⇒ Другие правила (Home ⇒ Conditional Formatting ⇒ Data bars ⇒ More Rules). 3. Установите флажок Показать только столбец (Show Bar Only), как на рис. 3.24. 4. Выберите в выпадающих полях Тип (Type) для минимального (Minimum) и  максимального (Maximum) значений пункт Число (Number). В полях со значениями введите 0 и 1 для минимума и максимума соответственно.

Рис. 3.23  Список задач с процентами их выполнения

Рис. 3.24  Изменение минимального и максимального значений для столбиков

Условное форматирование  133

В добавленном столбце будут показаны столбики с  прогрессом в  достижении цели, что видно по рис. 3.25. Поскольку в достижении цели мы стремимся к показателю 100 %, за максимальное значение в гистограмме мы приняли единицу. Также вы можете указать другую ячейку для минимального и максимального значения. Это может быть полезно, если эти значения должны вычисляться на основе формул или меняться пользователем.

Создание тепловой карты с цветовыми шкалами

Рис. 3.25  Гистограммы как визуализация прогресса в достижении цели

Тепловые карты (heat map) используются для привлечения внимания пользователя к  важным цифрам в  таблице. Они также показывают шаблоны и тенденции в данных. При помощи тепловых карт внимание пользователя фиксируется на различных областях по местоположению, времени или месту – например, на сайте в интернете. Давайте рассмотрим пример таблицы с  десятью товарами и  продажами по ним за 12 месяцев, показанный на рис.  3.26. Мы используем цветовые шкалы совместно с условным форматированием для определения трендов и шаблонов в продажах.

Рис. 3.26  Продажи товаров по месяцам

1. Выделите столбцы с января по декабрь.

134  Продвинутые техники форматирования 2. Перейдите в  меню Главная ⇒ Условное форматирование ⇒ Цветовые шкалы (Home ⇒ Conditional Formatting ⇒ Color Scales), как показано на рис. 3.27. Выберите первый вариант раскраски, в котором минимальным значениям соответствует красный цвет, а максимальным – зеленый.

Рис. 3.27  Применение цветовых шкал к данным о продажах

Теперь мы отчетливо видим, что продажи по печенью (Biscuits) и  вафлям (Waffles) не падают круглый год. Кроме того, по таблице, показанной на рис. 3.28, заметно, что самым благоприятным периодом для продаж является интервал с июля по октябрь.

Рис. 3.28  Цветовые схемы, примененные к таблице продаж за 12 месяцев

Условное форматирование  135

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

Рис. 3.29  Сводная таблица с продажами клиентам из Дании

Мы будем использовать набор значков следующим образом: зелеными кружками будем отмечать значения, большие или равные 2800, а янтарножелтыми – значения, равные или превышающие 1200. При этом в  условном форматировании не должны учитываться строки итогов по покупателям и категориям товаров. 1. Щелкните по любой ячейке в сводной таблице. 2. Перейдите в меню Главная ⇒ Условное форматирование ⇒ Создать правило (Home ⇒ Conditional Formatting ⇒ New Rule). 3. В области применения правила выберите пункт Со всеми ячейками по категориям товаров и  клиентам (All cells showing “Total sales” values for “Product Category” and “Customer Name”), как показано на рис.  3.30. Варианты в  этом списке будут меняться в  зависимости от меток в вашей сводной таблице.

136  Продвинутые техники форматирования

Рис. 3.30  Применение правила с набором значков к сводной таблице

На этом шаге мы гарантировали, что ячейки с итогами не будут подвержены форматированию. 4. Выберите в выпадающем списке Стиль формата (Format Style) пункт Наборы значков (Icon Sets), а  в  появившемся списке Стиль значка (Icon Style) – три цветных круга: красный, янтарно-желтый и зеленый. 5. Нажмите на стрелку рядом с  красным кругом и  выберите пункт Нет значка ячейки (No Cell Icon), чтобы сделать эту иконку неактивной. 6. Выберите в колонке Тип (Type) для обоих оставшихся значков значение Число (Number). В колонку Значение (Value) для зеленого кружка введите число 2800, а для янтарно-желтого – 1200. В результате правило условного форматирования будет применено только к значениям по покупателям и категориям товаров, как показано на рис. 3.31.

Графики в ячейках в при помощи функции ПОВТОР  137

Рис. 3.31  Значки, показывающие лучшие продажи в сводной таблице

граФики в ячейках в при помощи Функции повТор Файл: in-cell-charts.xlsx

Есть одна любопытная техника создания диаграмм прямо в  ячейках листа Excel с использованием функции ПОВТОР (REPT) и специфического форматирования. Эти диаграммы могут являться отличной альтернативой использованию гистограмм или наборов значков. Главным преимуществом таких небольших диаграмм является то, что они создаются при помощи формул, что делает их невероятно гибкими в использовании. Кроме того, мы можем также добавить к  ним правила условного форматирования для изменения цвета в  зависимости от условий, как показано на рис. 3.32. В случае с гистограммами вы этого сделать не сможете. Итак, у нас есть диапазон с двумя столбцами, содержащими имя и количество баллов. В третьем столбце мы хотим построить столбчатую диаграмму по примеру той, что показана на рис. 3.32. Мы будем использовать функцию ПОВТОР, которая позволяет вывести на экран значение заданное количество раз. Мы используем вертикальную черту (|), которая будет повторена число раз, указанное в столбце B.

138  Продвинутые техники форматирования

Рис. 3.32  Графики в ячейках с использованием шрифта Stencil и условного форматирования

Примечание. Символ вертикальной черты обычно размещается на клавиатуре на одной клавише со знаком обратной косой черты.

1. Введите в ячейку C2 формулу =ПОВТОР(«|»;B2)&» «&B2 и протяните ее вниз. В конце череды из символов вертикальной черты будет выведено значение, подобно метке на столбчатой диаграмме. 2. На данный момент результат выглядит не очень впечатляюще, так что давайте изменим шрифт. Вы можете поменять шрифт ячеек на Playbill или Stencil – оба сработают неплохо. 3. Измените цвет шрифта на более подходящий. Я выбрал зеленый, как видно на рис. 3.33.

Рис. 3.33  Столбчатая диаграмма в ячейках при помощи функции ПОВТОР с использованием шрифта Stencil

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

Графики в ячейках в при помощи функции ПОВТОР  139

Поскольку такие диаграммы строятся при помощи обычных функций Excel и форматирования, вы не ограничены обычным функционалом, присущим встроенным гистограммам. К примеру, вы можете воспользоваться условным форматированием, чтобы изменить цвет столбцов со значением меньше 60. 4. Выделите диапазон C2:C8 и перейдите в меню Главная ⇒ Условное форматирование ⇒ Создать правило ⇒ Использовать формулу для определения форматируемых ячеек (Home ⇒ Conditional Formatting ⇒ New Rule ⇒ Use a formula to determine which cells to format). 5. Введите следующую формулу, проверяющую значение в ячейке B2: =B2[@[Last Month]]; "▲ "&ТЕКСТ(([@[This Month]]-[@[Last Month]])/[@[Last Month]];"0%"); [@[This Month]]