Сравнение таблиц с помощью Power Query
Power Query — это бесплатная надстройка для Microsoft Excel, позволяющая загружать в него данные практически из любых источников и преобразовывать потом их желаемым образом. В Excel 2016 эта надстройка уже встроена по умолчанию на вкладке Данные, а для более ранних версий ее нужно отдельно скачать с сайта Microsoft и установить.
Перед загрузкой наших прайс-листов в Power Query их необходимо преобразовать сначала в умные таблицы. Для этого выделим диапазон с данными и нажмем на клавиатуре сочетание или выберем на ленте вкладку Главная — Форматировать как таблицу. Имена созданных таблиц можно изменить на вкладке Конструктор (я оставлю стандартные Таблица1 и Таблица2, которые генерируются по умолчанию).
Загрузите первый прайс в Power Query с помощью кнопки Из таблицы/диапазона на вкладке Данные.
После загрузки вернемся обратно в Excel из Power Query командой Закрыть и загрузить — Закрыть и загрузить в…
В появившемся затем окне выбираем «Только создать подключение».
Повторите те же действия с новым прайс-листом.
Теперь создадим третий запрос, который будет объединять и сравнивать данных из предыдущих двух. Для этого выберем на вкладке Данные — Получить данные — Объединить запросы — Объединить. Все шаги вы видите на скриншоте ниже.
В окне объединения выберем в выпадающих списках наши таблицы, выделим в них столбцы с названиями товаров и в нижней части определим способ объединения — Полное внешнее.
После нажатия на ОК должна появиться таблица из четырёх столбцов, где в четвертой колонке нужно развернуть вложенное содержимое с помощью двойной стрелки в шапке.
После нажатия вы увидите список столбцов из второго прайса. Выбираем Товар и Цена. Получаем следующую картину:
Примечание. Полученные таким образом сводные данные можно сделать источником для сводной таблицы, которую мы рассматривали выше. Тогда не будет необходимости руками объединять несколько таблиц в одну.
А теперь сравним цены. Идем на вкладку Добавление столбца и жмем на кнопку Условный столбец. А затем в открывшемся окне вводим несколько условий проверки с соответствующими им значениями, которые нужно отобразить:
Теперь осталось вернуться на вкладку Главная и нажать Закрыть и загрузить.
Получаем новый лист в нашей рабочей книге:
Примечание. Если в будущем в наших прайс-листах произойдут любые изменения (добавятся или удалятся строки, изменятся цены и т.д.), то достаточно будет лишь обновить наши запросы сочетанием клавиш или кнопкой Обновить все на вкладке Данные.
Ведь все данные извлекаются из «умных» таблиц Excel, которые автоматически меняют свой размер при добавлении либо удалении из них какой-либо информации. Однако, помните, что имена столбцов в исходных таблицах не должны меняться, иначе получим ошибку «Столбец такой-то не найден!» при попытке обновить запрос.
Это, пожалуй, самый красивый и удобный способ из всех стандартных. Шустро работает с большими таблицами. Не требует ручных правок при изменении размеров.
Как видите, есть несколько способов сравнить две таблицы Excel, используя формулы или условное форматирование. Однако эти методы не подходят для комплексного сравнения из-за следующих ограничений:
- Они находят различия только в значениях, но не могут сравнивать формулы или форматирование ячеек.
- Многие из них не могут идентифицировать добавленные или удаленные строки и столбцы. Как только вы добавите или удалите строку / столбец на одном листе, все последующие строки / столбцы будут отмечены как отличия.
- Они хорошо работают на уровне листа, но не могут обнаруживать структурные различия на уровне книги Excel, к примеру добавление и удаление листов.
Эти проблемы решаются путем использования дополнений к Excel, о чем мы поговорим далее.
Как сравнить два столбца в Excel на совпадения и различия?
Предположим, у вас есть 2 списка данных в Excel, и вы хотите найти все значения (числа, даты или текстовые записи), которые находятся в колонке A, но их нет в B. То есть, исходные данные из А мы сравниваем с В.
Для этого вы можете встроить функцию СЧЁТЕСЛИ($B:$B;$A2)=0 в логический тест ЕСЛИ и проверить, возвращает ли она ноль (совпадение не найдено) или любое другое число (найдено хотя бы 1 совпадение).
Например, следующая формула ЕСЛИ/СЧЁТЕСЛИ выполняет поиск значения из A2 по всему столбцу B. Если совпадений не найдено, возвращается «Нет совпадений в B», в противном случае — пустую строку:
Тот же результат может быть достигнут при использовании функции ЕСЛИ всесте с ЕОШИБКА и ПОИСКПОЗ:
Или, используя следующую формулу массива (не забудьте нажать Ctrl + Shift + Enter, чтобы ввести ее правильно):
Если вы хотите, чтобы одно выражение определяло как дубликаты, так и уникальные значения, поместите текст совпадений в пустые двойные кавычки («») в любой из приведенных выше формул. Например:
=ЕСЛИ(СЧЁТЕСЛИ($B:$B; $A2)=0; «Уникальное»; «Дубликат»)
Думаю, вы понимаете, что точно таким же образом можно наоборот сравнивать В с А.
Сравнение двух списков в Excel
Конечно, можно сравнивать два списка вручную. Но это займет много времени. Excel обладает собственным интеллектуальным инструментарием, который позволит сравнивать данные не только быстро, но и получать ту информацию, которую глазами и не получить так легко. Предположим, у нас есть два столбца с координатами A и B. Некоторые значения в них повторяются.
Постановка задачи
Итак, нам нужно сравнить эти столбцы. Методика сравнения двух документов следующая:
- Если уникальные ячейки каждого из этих списков совпадают, и общее количество уникальных ячеек совпадает, и ячейки те же самые, то можно считать эти списки одинаковыми. То, в каком порядке значения в этом перечне уложены, не имеет столь большого значения.
- О частичном совпадении перечней можно говорить, если сами уникальные значения те же самые, но отличается количество повторов. Следовательно, в таких списках может быть и разное количество элементов.
- О том, что два списка не совпадают, говорит разный набор уникальных значений.
Все эти три условия одновременно и являются условиями нашей задачи.
Решение задачи
Давайте сгенерируем два динамических диапазона, чтобы было более удобно сравнивать перечни. Каждый из них будет соответствовать каждому из перечней.
Чтобы сравнить два списка, надо выполнить следующие действия:
- В отдельной колонке создаем список уникальных значений, характерных для обоих списков. Для этого используем формулу: ЕСЛИОШИБКА(ЕСЛИОШИБКА( ИНДЕКС(Список1;ПОИСКПОЗ(0;СЧЁТЕСЛИ($D$4:D4;Список1);0)); ИНДЕКС(Список2;ПОИСКПОЗ(0;СЧЁТЕСЛИ($D$4:D4;Список2);0))); «»). Сама формула должна записываться, как формула массива.
- Определим, сколько раз каждое уникальное значение, встречается в массиве данных. Вот, какими формулами можно это сделать: =СЧЁТЕСЛИ(Список1;D5) и =СЧЁТЕСЛИ(Список2;D5).
- Если и число повторений, и количество уникальных значений одинаковое во всех перечнях, которые входят в эти диапазоны, то функция возвращает значение 0. Это говорит о том, что совпадение стопроцентное. В этом случае заголовки этих списков обретут зеленый фон.
- Если все уникальное содержимое есть в обоих списках, то возвращенное формулами =СЧЁТЕСЛИМН($D$5:$D$34;»*?»;E5:E34;0) и =СЧЁТЕСЛИМН($D$5:$D$34;»*?»;F5:F34;0) значение составит ноль. Если же E1 содержит не ноль, а такое значение содержится в ячейках E2 и F2, то в этом случае диапазоны будут признаны совпадающими, но только частично. В таком случае заголовки соответствующих списков станут оранжевыми.
- И в случае возвращения одной из формул, описанных выше, ненулевого значения перечни будут полностью не совпадающими.
Вот и ответ на вопрос, как проанализировать столбцы на предмет совпадений с помощью формул. Как видим, с применением функций можно реализовать почти любую задачу, которая на первый взгляд с математикой не связана.
Тестирование на примере
В нашем варианте таблицы есть три вида списков каждой описанной выше разновидности. В нем есть частично и полностью совпадающие, а также не совпадающие.
Для сравнения данных мы используем диапазон A5:B19, в который мы попеременно вставляем эти пары списков. О том, какой будет итог сравнения, мы поймем по цвету исходных перечней. Если они абсолютно разные, то это будет красный фон. Если часть данных одинаковая, то желтый. В случае же полной идентичности соответствующие заголовки будут зелеными. Как же сделать цвет, зависящий от того, какой результат получился? Для этого нужно условное форматирование.
Как сравнить два столбца в Excel с помощью ВПР
Если у вас есть два столбца данных и вы хотите узнать, какие точки данных из одного списка существуют в другом списке, вы можете использовать функцию ВПР для сравнения списков на наличие общих значений.
Чтобы построить формулу ВПР в ее базовой форме, вам нужно сделать следующее:
- За искомое_значение (1-й аргумент), используйте самую верхнюю ячейку из списка 1.
- За таблица_массив (2-й аргумент), предоставьте весь Список 2.
- За col_index_num (3-й аргумент), используйте 1, так как в массиве всего один столбец.
- За range_lookup (4-й аргумент), установить FALSE – точное совпадение.
Предположим, у вас есть имена участников в столбце А (Список 1) и имена тех, кто прошел квалификационные раунды в столбце Б (Список 2). Вы хотите сравнить эти 2 списка, чтобы определить, какие участники из группы А пробились на главное событие. Для этого используйте следующую формулу.
=ВПР(A2, $C$2:$C$9, 1, ЛОЖЬ)
Формула помещается в ячейку E2, а затем вы перетаскиваете ее вниз через столько ячеек, сколько элементов в списке 1.
Обратите внимание, что таблица_массив заблокирована абсолютными ссылками ($C$2:$C$9), поэтому она остается неизменной, когда вы копируете формулу в ячейки ниже. Как видите, имена квалифицированных спортсменов отображаются в столбце E
Для остальных участников появляется ошибка #N/A, указывающая на то, что их имена отсутствуют в списке 2
Как видите, имена квалифицированных спортсменов отображаются в столбце E. Для остальных участников появляется ошибка #N/A, указывающая на то, что их имена отсутствуют в списке 2.
Маскировка ошибок #Н/Д
Обсуждаемая выше формула ВПР отлично выполняет свою основную задачу — возвращает общие значения и идентифицирует отсутствующие точки данных. Однако он выдает кучу ошибок #N/A, которые могут сбить с толку неопытных пользователей, заставив их подумать, что с формулой что-то не так.
Чтобы заменить ошибки пустыми ячейками, используйте функцию ВПР в сочетании с функцией ЕСЛИНА или ЕСЛИОШИБКА следующим образом:
=ЕСЛИНА(ВПР(A2, $C$2:$C$9, 1, ЛОЖЬ), “”)
Наша улучшенная формула возвращает пустую строку (“”) вместо #N/A. Вы также можете вернуть собственный текст, например «Нет в списке 2», «Нет в наличии» или «Недоступно». Например:
=ЕСЛИНА(ВПР(A2, $C$2:$C$9, 1, ЛОЖЬ), “Нет в списке 2”)
Это основная формула ВПР для сравнения двух столбцов в Excel. В зависимости от вашей конкретной задачи его можно изменить, как показано в следующих примерах.
Как сравнить два столбца в Excel на совпадения и выделить цветом
Когда мы ищем совпадения между двумя столбцами в Excel, нам может потребоваться визуализировать найденные совпадения или различия в данных, например, с помощью выделения цветом. Самый простой способ для выделения цветом совпадений и различий – использовать “Условное форматирование” в Excel. Рассмотрим как это сделать на примерах ниже.
Поиск и выделение совпадений цветом в нескольких столбцах в Эксель
В тех случаях, когда нам требуется найти совпадения в нескольких столбцах, то для этого нам нужно:
- Выделить столбцы с данными, в которых нужно вычислить совпадения;
- На вкладке “Главная” на Панели инструментов нажимаем на пункт меню “Условное форматирование” -> “Правила выделения ячеек” -> “Повторяющиеся значения”;
- Во всплывающем диалоговом окне выберите в левом выпадающем списке пункт “Повторяющиеся”, в правом выпадающем списке выберите каким цветом будут выделены повторяющиеся значения. Нажмите кнопку “ОК”:
- После этого в выделенной колонке будут подсвечены цветом совпадения:
Поиск и выделение цветом совпадающих строк в Excel
Поиск совпадающих ячеек с данными в двух, нескольких столбцах и поиск совпадений целых строк с данными это разные понятия
Обратите внимание на две таблицы ниже:
В таблицах выше размещены одинаковые данные. Их отличие в том, что на примере слева мы искали совпадающие ячейки, а справа мы нашли целые повторяющие строчки с данными.
Рассмотрим как найти совпадающие строки в таблице:
Справа от таблицы с данными создадим вспомогательный столбец, в котором напротив каждой строки с данными проставим формулу, объединяющую все значения строки таблицы в одну ячейку:
=A2&B2&C2&D2
Во вспомогательной колонке вы увидите объединенные данные таблицы:
Теперь, для определения совпадающих строк в таблице сделайте следующие шаги:
- Выделите область с данными во вспомогательной колонке (в нашем примере это диапазон ячеек E2:E15 );
- На вкладке “Главная” на Панели инструментов нажимаем на пункт меню “Условное форматирование” -> “Правила выделения ячеек” -> “Повторяющиеся значения”;
- Во всплывающем диалоговом окне выберите в левом выпадающем списке “Повторяющиеся”, в правом выпадающем списке выберите каким цветом будут выделены повторяющиеся значения. Нажмите кнопку “ОК”:
- После этого в выделенной колонке будут подсвечены дублирующиеся строки:
На примере выше, мы выделили строки в созданной вспомогательной колонке.
Но что, если нам нужно выделить цветом строки не во вспомогательном столбце, а сами строки в таблице с данными?
Для этого сделаем следующее:
Так же как и в примере выше создадим вспомогательный столбец, в каждой строке которого проставим следующую формулу:
=A2&B2&C2&D2
Таким образом, мы получим в одной ячейке собранные данные всей строки таблицы:
- Теперь, выделим все данные таблицы (за исключением вспомогательного столбца). В нашем случае это ячейки диапазона A2:D15 ;
- Затем, на вкладке “Главная” на Панели инструментов нажмем на пункт “Условное форматирование” -> “Создать правило”:
В диалоговом окне “Создание правила форматирования” кликните на пункт “Использовать формулу для определения форматируемых ячеек” и в поле “Форматировать значения, для которых следующая формула является истинной” вставьте формулу:
=СЧЁТЕСЛИ($E$2:$E$15;$E2)>1
Не забудьте задать формат найденных дублированных строк.
Эта формула проверяет диапазон данных во вспомогательной колонке и при наличии повторяющихся строк выделяет их цветом в таблице:
Выборка значений из таблицы по условию в Excel без ВПР
Пример 2. В таблице содержатся данные о продажах мобильных телефонов (наименование и стоимость). Определить самый продаваемый вид товара за день, рассчитать количество проданных единиц и общую выручку от их продажи.
Вид таблицы данных:
Поскольку товар имеет фиксированную стоимость, для определения самого продаваемого смартфона можно использовать встроенную функцию МОДА. Чтобы найти наименование наиболее продаваемого товара используем следующую запись:
Функция мода определяет наиболее часто повторяющиеся числовые данные в диапазоне цен. Функция ПОИСКПОЗ находит позицию первой ячейки из диапазона, в которой содержится цена самого популярного товара. Полученное значение выступает в качестве первого аргумента функции адрес, возвращающей ссылку на искомую ячейку (к значению прибавлено число 2, поскольку отсчет начинается с третьей строки сверху). Функция ДВССЫЛ возвращает значение, хранящееся в ячейке по ее адресу.
В результате расчетов получим:
Для определения общей прибыли от продаж iPhone 5s используем следующую запись:
Функция СУММПРИЗВ используется для расчета произведений каждого из элементов массивов, переданных в качестве первого и второго аргументов соответственно. Каждый раз, когда функция СОВПАД находит точное совпадение, значение ИСТИНА будет прямо преобразовано в число 1 (благодаря двойному отрицанию «—») с последующим умножением на значение из смежного столбца (стоимость).
Результат расчетов формулы:
Сравните два файла / листа Excel и узнайте разницу с помощью VBA
Если вам нужно часто сравнивать файлы или листы Excel, рекомендуется иметь готовый код VBA макроса Excel и использовать его всякий раз, когда вам нужно проводить сравнение.
Вы также можете добавить макрос на панель быстрого доступа, чтобы получить доступ с помощью одной кнопки и мгновенно узнать, какие ячейки различаются в разных файлах / листах.
Предположим, у вас есть два листа Jan и Feb, и вы хотите сравнить и выделить различия в листе Jan, вы можете использовать приведенный ниже код VBA:В приведенном выше коде цикл For Next используется для просмотра каждой ячейки на листе Jan (весь используемый диапазон) и сравнения его с соответствующей ячейкой на листе Feb. Если он обнаруживает разницу (которая проверяется с помощью оператора If-Then), он выделяет эти ячейки желтым цветом.
Вы можете использовать этот код в обычном модуле редактора VB.
И если вам нужно делать это часто, лучше сохранить этот код в книге личных макросов, а затем добавить его на панель быстрого доступа. Таким образом, вы сможете выполнить это сравнение одним нажатием кнопки.
Вот шаги, чтобы получить личную книгу макросов в Excel (она недоступна по умолчанию, поэтому вам необходимо включить ее).
Вот шаги, чтобы сохранить этот код в личной книге макросов.
Здесь вы найдете инструкции по добавлению этого макроса в QAT.
Поиск отличий в двух списках
значения (Home - жать не на кнопкой — Merge) установить — получите автоматически сформирует общий для подтягивания данных в столбцах, подсветив меню. таблицу на черыре
Вариант 1. Синхронные списки
столбце. другие условия для- сравнить периоды нас столбцы А в первом листе Прикладываю пример. В она разбита на Conditional formatting -EnterОбновить все (Refresh All)или нажмем кнопку новую вкладку список всех товаров из одной таблицы их. О такомСейчас эти полосы прокрутки
части. Эти границыПодробнее смотрите такие
выделения ячеек, строк,
дат,есть ли в и В). На
(странице) столбце «Н» ячейки несколько, как бы Highlight cell rules, а нана вкладкеОбъединить (Merge)Power Query из старого и в другую по способе читайте в передвигают таблицы синхронно. можно двигать. Нажимаем формулы в статье
т.д., читайте в указанных периодах одинаковые закладке «Главная» нажимаемВо втором таблице 5,6,7,8 хотел что их так сравнить, — Duplicate Values)Ctrl+Shift+EnterДанные (Data)на вкладке. нового прайс-листов (без совпадению какого-либо общего статье «Как сравнитьЧтобы на границу левой «Функция «СЧЕТЕСЛИ» в статье «Условное форматирование даты и сколько на кнопку функции во втором листе бы тут(Н) показывались
что бы выявить:..
- Power QueryПеред загрузкой наших прайс-листов
- повторений!) и отсортирует параметра. В данном
- два столбца втаблицы Excel перемещать независимо мышкой и , Excel».
- в Excel». Получилось дней в периодах «Найти и выделить», (странице) либо нули либо отклонения?Если выбрать опциюЕсли с отличающимися ячейками
- Плюсы
Вариант 2. Перемешанные списки
. в Power Query продукты по алфавиту. случае, мы применим Excel на совпадение» друг от друга
удерживая мышку, перемещаемЭтот способ сравнения так. совпадают. Этот способ выбираем функцию «ВыделениеВ третьем таблице отклонения так какviktturПовторяющиеся надо что сделать,: Пожалуй, самый красивыйВ окне объединения выберем их необходимо преобразовать Хорошо видно добавленные ее, чтобы подтянуть
здесь., нажимаем кнопку «Сихронная границу. можно применить приТретий способ. может пригодиться, чтобы группы ячеек». в третьем листе
число из Наш: Кто посмел разбить, то Excel выделит то подойдет другой и удобный способ в выпадающих списках сначала в умные товары (у них
старые цены вМожно на основании прокрутка» (на рисунке Это внешний вид листа сравнении двух прайсов.Сравнить значения столбцов в выявить пересечение датВ появившемся окне ставим (странице) — результат. дважды попадает в
цифру цветом совпадения в быстрый способ: выделите
из всех. Шустро наши таблицы, выделим таблицы. Для этого нет старой цены), новый прайс:
данных таблицы для чуть выше, обведена Excel разделенный на
planetaexcel.ru>
Как сравнить два столбца в Excel на совпадения.
manager123 вложении. Прикрепленные файлы только в действительности значением, введя его изменении размеров таблиц.Теперь создадим третий запрос, щелкнув по ней параметра. В данном выберите пункт заливки при помощиМинусы который будет объединять и сравнивать данных - ее, чтобы подтянуть selection вкладкеДайте названия столбцам, например, кнопку мыши, протащите команду Excel 2016. Имена
столбцов в исходных в таблице №1 меняться, иначе получим — Объединить запросы с большими таблицами,Минусы цены также хорошо не понадобится, с ячеек», ставим галочку из другого (467 первом столбце второй очистить содержимое. Столбцы у слов «Отличия столбцы в Excel,
excel-office.ru>
Поиск отличий в двух списках
манипуляции. Как это вид должна иметь ускорить процедуру нумерации, чтобы нам легче«Критерий»Таким образом, будут выделены на кнопку строках. В остальном процедура формула сравнения выдала
Вариант 1. Синхронные списки
Давайте посмотрим, какИ, наконец, «высший пилотаж» то подойдет другой первом аргументе находитсяКаждый месяц работник отдела лига). ответить на 2 сделать рассказывается в функция можно также воспользоваться было работать, выделяем, установив туда курсор. именно те показатели,«OK»Произвести сравнение можно, применив сравнения практически точно
показатель использовать данный способ
— можно вывести
быстрый способ: выделите пара значений, которая
кадров получает списокЧтобы выделить команды в вопроса: Какие счета отдельном уроке.ИНДЕКС маркером заполнения. в строке формул Щелкаем по первому которые не совпадают.. метод условного форматирования. такая, как была«ИСТИНА» на практике на
отличия отдельным списком. оба столбца и должна быть найдена сотрудников вместе с первом списке (не в февральской таблицеУрок: Как открыть Эксельили предназначенный дляПосле этого выделяем первую значение элементу с фамилиямиУрок: Условное форматирование вПосле автоматического перемещения в Как и в описана выше, кроме. примере двух таблиц, Для этого придется нажмите клавишу на исходном листе их окладами. Он во втором!), выполните
отсутствуют в январской? в разных окнах работы с массивами. ячейку справа от
- «ЕСЛИ» в первом табличном
- Экселе окно
- предыдущем способе, сравниваемые того факта, чтоКроме того, существует возможность размещенных на одном
- использовать формулу массива:F5 следующего месяца, то копирует список на следующие действия: и Какие счета вКак видим, существует целый Нам нужен второй
- колонки с номерами
Вариант 2. Перемешанные списки
и жмем по диапазоне. В данномТакже сравнить данные можно«Диспетчера правил» области должны находиться при внесении формулы
с помощью специальной листе.Выглядит страшновато, но свою, затем в открывшемся есть «Март». Просматриваемый новый лист рабочейСперва выделите диапазон январской таблице отсутствуют ряд возможностей сравнить вариант. Он установлен и щелкаем по иконке случае оставляем ссылку при помощи сложнойщелкаем по кнопке
на одном рабочем придется переключаться между формулы подсчитать количествоИтак, имеем две простые работу выполняет отлично окне кнопку диапазон определяется как книги Excel. Задача
A1:A18 в январской? таблицы между собой. по умолчанию, так значку«Вставить функцию» относительной. После того, формулы, основой которой
«OK» листе Excel и листами. В нашем несовпадений. Для этого таблицы со списками ;)Выделить (Special) соединение значений диапазонов, следующая: сравнить зарплатуи дайте ему
Это можно сделать с Какой именно вариант что в данном
«Вставить функцию». как она отобразилась является функцияи в нем.
быть синхронизированными между случае выражение будет выделяем тот элемент
planetaexcel.ru>
работников предприятия и
- Excel 2010 сброс настроек по умолчанию
- Как в excel поставить условие
- Excel удалить пробелы
- Диапазон печати в excel
- Excel текущая дата в ячейке
- Как в excel сделать перенос в ячейке
- Как в excel убрать автозамену
- Зеркальные поля в excel
- Excel вставка картинки в ячейку
- Excel вторая ось на графике
- Vba циклы excel
- Excel скрыть примечание в excel