Методы сравнения таблиц в microsoft excel

Алан-э-Дейл       10.05.2022 г.

Оглавление

Сравнение таблиц с помощью Power Query

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

Перед загрузкой наших прайс-листов в Power Query их необходимо преобразовать сначала в умные таблицы. Для этого выделим диапазон с данными и нажмем на клавиатуре сочетание или выберем на ленте вкладку Главная — Форматировать как таблицу. Имена созданных таблиц можно изменить на вкладке Конструктор (я оставлю стандартные Таблица1 и Таблица2, которые генерируются по умолчанию).

Загрузите первый прайс в Power Query с помощью кнопки Из таблицы/диапазона на вкладке Данные.

После загрузки вернемся обратно в Excel из Power Query командой Закрыть и загрузить — Закрыть и загрузить в…

В появившемся затем окне выбираем «Только создать подключение».

Повторите те же действия с новым прайс-листом.

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

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

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

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

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

Теперь осталось вернуться на вкладку Главная и нажать Закрыть и загрузить.

Получаем новый лист в нашей рабочей книге:

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

Ведь все данные извлекаются из «умных» таблиц Excel, которые автоматически меняют свой размер при добавлении либо удалении из них какой-либо информации. Однако, помните, что имена столбцов в исходных таблицах не должны меняться, иначе получим ошибку «Столбец такой-то не найден!» при попытке обновить запрос.

Это, пожалуй, самый красивый и удобный способ из всех стандартных. Шустро работает с большими таблицами. Не требует ручных правок при изменении размеров.

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

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

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

Сравнение нескольких ячеек в табличном редакторе

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

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

Здесь, как и в ранее рассмотренных методах, применяется две вариации формулы:

  1. Первый вариант формулы выглядит так: =И(А1=В1; А1=С1).
  2. Второй вариант формулы выглядит так: =ЕСЛИ(И(А1=В1; А1=С1); “Совпадает”; “НЕ совпадает”).

Функция «И» реализует возврат значения ИСТИНА в том случае, если все поля таблички имеют совпадающие значения. Возврат значения ЛОЖЬ происходит, если какое-либо из значений не совпадает. Оператор «ЕСЛИ» позволяет отобразить на экране те показатели, которые ввел пользователь в формулу.

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

3

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

Здесь, как и в ранее рассмотренных методах, применяется две вариации формулы:

  1. Первый вариант формулы выглядит так: =И(СОВПАД(А1;В1); СОВПАД(А1; С2)).
  2. Второй вариант формулы выглядит так: =ЕСЛИ(И(СОВПАД(А1;В1);СОВПАД(А1; С1));”Точное совпадение”; “НЕ совпадает”).

Как и в предыдущем примере, функция «И» реализует возврат значения ИСТИНА в том случае, если все поля таблички имеют совпадающие значения. Возврат значения ЛОЖЬ происходит, если какое-либо из значений не совпадает. Оператор «ЕСЛИ» позволяет отобразить на экране те показатели, которые ввел пользователь в формулу. Результат преобразований выглядит так:

4

Если пользователю необходимо, чтобы формула вывела наличие соответствий хотя бы 2-х показателей, то ему необходимо использовать следующую формулу: =ЕСЛИ(ИЛИ(СОВПАД(А1;В1);СОВПАД(А1; С1);СОВПАД(В1;С1)); “Не менее двух точных соответствий”; “Соответствий нет”). Иными словами, в этом случае наличие хотя бы 2-х соответствий в 3-х случаях, выведет положительное значение. Результат преобразований выглядит так:

5

Если же пользователю необходимо произвести сравнение в табличке, в которой присутствует огромное количество ячеек, то вышеописанная формула будет не удобной в использовании, так как она станет слишком длинной. Здесь целесообразнее использовать математический оператор «СЧЕТЕСЛИ». Подсчитать количество соответствий в большом диапазоне ячеек можно при помощи следующей формулы: {=СЧЕТЕСЛИ(А2:D2;А2:D2)}. Результат преобразований выглядит так:

6

Сравните два листа и выделите различия (с использованием условного форматирования)

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

Кроме того, выполнение этого уровня сравнения вручную может привести к множеству ошибок.

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

Этот метод действительно полезен, если у вас есть две версии на двух разных листах и ​​вы хотите быстро проверить, что изменилось.

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

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

Ниже приведены шаги для этого:

  • Выберите данные на листе, где вы хотите выделить изменения. Поскольку я хочу проверить, как изменились цены с января по февраль, я выбрал данные в таблице за февраль.
  • Перейдите на вкладку «Главная»
  • В группе «Стили» нажмите «Условное форматирование».
  • В появившихся опциях нажмите «Новое правило».
  • В диалоговом окне «Новое правило форматирования» нажмите «Использовать формулу, чтобы определить, какие ячейки нужно форматировать».
  • В поле формулы введите следующую формулу: =B2<>Jan!B2
  • Нажмите кнопку «Формат».
  • В появившемся диалоговом окне «Формат ячеек» щелкните вкладку «Заливка» и выберите цвет, которым вы хотите выделить несоответствующие данные.
  • Нажмите ОК.
  • Нажмите ОК.

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

Как это работает?

Условное форматирование выделяет ячейку, когда заданная формула для этой ячейки возвращает ИСТИНА. В этом примере мы сравниваем каждую ячейку на одном листе с соответствующей ячейкой на другом листе (выполняется с помощью оператора «не равно» <> в формуле).

Когда условное форматирование обнаруживает какие-либо различия в данных, оно выделяет это на листе Jan (тот, в котором мы применили условное форматирование.

Обратите внимание, что в этом примере я использовал относительную ссылку (A1 and not $A$1 or $A1 or A$1). При использовании этого метода для сравнения двух листов в Excel помните следующее;

При использовании этого метода для сравнения двух листов в Excel помните следующее;

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

Сравните диапазон ячеек с образцом.

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

Совпадает ли ячейка с образцом?

Если регистр символов не имеет значения, вы можете использовать для сопоставления с образцом примерно такое выражение:

ЧСТРОК( диапазон ) * ЧИСЛСТОЛБ( диапазон ) = СЧЁТЕСЛИ( диапазон ; ячейка образца )

В логической проверке функции ЕСЛИ вы проверяете равенство двух чисел:

  1. Общее количество ячеек в указанном диапазоне (количество строк, умноженное на количество столбцов), и
  2. Количество ячеек, содержащих то же значение, что и в образце (возвращенное функцией СЧЁТЕСЛИ ).

Предполагая, что образец текста находится в C2, а данные находятся в диапазоне A2: B6, формула выглядит следующим образом:

(ЧСТРОК(A2:B6)*ЧИСЛСТОЛБ(A2:B6))=СЧЁТЕСЛИ(A2:B6;C2)

Чтобы сделать результаты более удобными для пользователя, т. е. вывести осмысленный текст вместо ИСТИНА и ЛОЖЬ, используйте функцию ЕСЛИ, как мы делали в предыдущих примерах:

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

Проверяем совпадение с образцом с учётом регистра букв.

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

Поскольку исходный диапазон находится в области A2: B6, а образец текста — в C2, получаем следующее:

В отличие от обычных формул Excel, формулы массива заполняются нажатием Ctrl + Shift + Enter. При правильном вводе Excel заключает формулу массива в {фигурные скобки}, как показано ниже:

Как сравнить несколько столбцов на совпадения в одной строке

Есть возможность проанализировать значения в перечнях по целому набору критериев:

  1. Найти те ряды, которые везде имеют те же значения.
  2. Найти те ряды, где есть совпадения всего в двух списках.

Давайте рассмотрим несколько примеров, как действовать в каждом из этих случаев.

Пример. Как найти совпадения в одной строке в нескольких столбцах таблицы

Предположим, у нас есть ряд колонок, где содержится нужная нам информация. Перед нами стоит задача определить те ряды, в которых значения одинаковые. Чтобы это сделать, нужно воспользоваться следующей формулой: =ЕСЛИ(И(A2=B2;A2=C2); “Совпадают”; ” “).

Если столбцов лишком много содержится в таблице, то нужно просто применять вместе с функцией ЕСЛИ оператор СЧЕТЕСЛИ: =ЕСЛИ(СЧЁТЕСЛИ($A2:$C2;$A2)=3;”Совпадают”;” “). Цифра, которая используется в этой формуле, означает количество колонок, в которых нужно осуществлять проверку. Если оно отличается, то нужно написать столько, сколько справедливо для вашей ситуации.

Пример. Как найти совпадения в одной строке в любых 2 столбцах таблицы

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

Мы используем такую формулу: =ЕСЛИ(ИЛИ(A2=B2;B2=C2;A2=C2);”Совпадают”;” “). Может случиться ситуация, когда столбцов в таблице очень много. В таком случае формула будет огромной, а времени на подбор всех необходимых комбинаций может потребоваться очень много. Чтобы решить эту проблему, нужно воспользоваться функцией СЧЕТЕСЛИ: =ЕСЛИ(СЧЁТЕСЛИ(B2:D2;A2)+СЧЁТЕСЛИ(C2:D2;B2)+(C2=D2)=0; “Уникальная строка”; “Не уникальная строка”)

Видим, что итого у нас две функции СЧЕТЕСЛИ. С помощью первой мы попеременно определяем, сколько столбцов имеют сходство с A2, а с помощью второй проверяем количество сходств со значением B2. Если в результате вычисления по этой формуле мы получаем нулевое значение, это говорит о том, что все строки в этом столбце уникальны, если же больше – есть сходства. Следовательно, если в результате вычисления по двум формулам и складывания итоговых результатов мы получаем нулевое значение, то возвращается текстовое значение «Уникальная строка», если же это число больше, записывается, что эта строка не уникальная.

Сравнение двух листов в Excel

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

Решить эту непростую задачу нам поможет условное форматирование. Для примера, возьмем данные за февраль и март, как показано на рисунке:

Чтобы найти изменения на зарплатных листах:

  1. Перейдите на лист с именем «Март» и выберите инструмент: «ФОРМУЛЫ»-«Определенные имена»-«Присвоить имя».
  2. В окне «Создание имени» для поля «Имя:» введите значение – Фамилия.
  3. Ниже в поле ввода «Диапазон:» введите следующую ссылку:
  4. Выберите инструмент «ФОРМУЛЫ»-«Присвоить имя» и в поле «Имя:» введите значение – Зарплата.
  5. В поле «Диапазон:» введите ссылку:
  6. Теперь перейдите на лист с именем «Февраль» и выделите диапазон ячеек B2:C12.
  7. А на панели «ГЛАВНАЯ» выберите «Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматированных ячеек:».
  8. В поле ввода формул вводим следующее:
  9. Щелкните по кнопке «Формат» и на вкладке «Заливка» укажите зеленый цвет.
  10. На всех окнах жмем ОК.

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

Принцип сравнения двух диапазонов данных в Excel на разных листах:

В определенном условии существенное значение имеет функция ПОИСКПОЗ. В ее первом аргументе находится пара значений, которая должна быть найдена на исходном листе следующего месяца, то есть «Март». Просматриваемый диапазон определяется как соединение значений диапазонов, определенных именами, в пары. Таким образом выполняется сравнение строк по двум признакам – фамилия и зарплата. Для найденных совпадений возвращается число, что по сути для Excel является истиной. Поэтому следует использовать функцию =НЕ(), которая позволяет заменить значение ИСТИНА на ЛОЖЬ. Иначе будет применено форматирование для ячеек значение которых совпали. Для каждой не найденной пары значений (то есть – несоответствие) &B2&$C2 в диапазоне Фамилия&Зарплата, функция ПОИСКПОЗ возвращает ошибку. Ошибочное значение не является логическим значением. Поэтому исползаем функцию ЕСЛИОШИБКА, которая присвоит логическое значение для каждой ошибки – ИСТИНА. Это способствует присвоению нового формата только для ячеек без совпадений значений по зарплате в отношении к следующему месяцу – марту.

Тип сравнения таблиц

Программа позволяет выбрать несколько типов сравнения таблиц:

Найти строки одной таблицы, которые отсутствуют в другой таблице

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

Найти совпадающие строки

При выборе данного типа сравнения, программа находит строки, которые совпадают в первой и второй таблицах. Совпадающими считаются строки, в которых значения в выбранных столбцах сравнения (1, 2, 3) одной таблицы полностью совпадают со значениями столбцов второй таблицы.

Пример работы программы в данном режиме представлен справа на картинке.

Сопоставить таблицы на основе выбранной

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

Сравнение таблиц по четырем и более столбцам

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

  • Создайте в таблицах по пустому столбцу.
  • В новых столбцах используя формулу =СЦЕПИТЬ объедините столбцы, ко которым хотите провести сравнение.

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

Сравните два столбца и добавьте недостающие значения в Excel

Вот два списка имен, теперь я хочу сравнить эти два списка, а затем добавить недостающие имена в List2, как показано ниже.

Сравните два списка и добавьте пропущенные значения с помощью формулы ИНДЕКС

Здесь формула ИНДЕКС позволяет сравнивать два списка, а затем добавлять недостающие данные в конец более короткого.

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

=INDEX($A$2:$A$11,MATCH(TRUE,ISNA(MATCH($A$2:$A$11,$C$2:C7,0)),0))

В формуле A2: A11 — более длинный список, а C2: C7 — более короткий список.

Затем нажмите Shift + Ctrl + Enter клавиши, чтобы добавить первые отсутствующие данные, затем перетащите дескриптор автозаполнения вниз, чтобы заполнить все отсутствующие данные, пока не появится значение ошибки # Н / Д.

И вы можете удалить значение # N / A после заполнения всех пропущенных значений.

Если в списке в Excel есть недостающие порядковые номера, вам может потребоваться найти недостающие последовательности одну за другой вручную. Но если у вас есть Kutools for Excel’s Найти отсутствующий порядковый номер утилита, она может сразу заполнить недостающий порядковый номер и пометить недостающие строки, как вам нужно.  Нажмите, чтобы получить 30-дневную бесплатную пробную версию!
 

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

Kutools for Excel, с более чем 300 удобные функции, облегчающие вашу работу. 

После бесплатная установка Kutools for Excel, сделайте следующее:

1. Нажмите Kutools > Выберите > Выберите одинаковые и разные ячейки. Смотрите скриншот:

2. Затем в Выберите одинаковые и разные ячейки В диалоговом окне «Найти значения в» выберите более длинный список, затем в разделе «Согласно» выберите более короткий список, затем установите флажки «Каждая строка» и «Различные значения».

3. Нажмите Ok > OK, теперь недостающие данные в более коротком списке выделены, нажмите Ctrl + C скопировать их. Затем выберите ячейку внизу более короткого списка и нажмите Ctrl + V чтобы вставить эти недостающие данные.

Прочие операции (статьи)

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

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

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

Сравните, если несколько ячеек равны в ExcelКак мы все знаем, для сравнения, если две ячейки равны, мы можем использовать формулу A1 = B1. Но если вы хотите проверить, имеют ли несколько ячеек одно и то же значение, эта формула не будет работать. Сегодня я расскажу о некоторых формулах для сравнения, если несколько ячеек равны в Excel.

Гость форума
От: admin

Эта тема закрыта для публикации ответов.