Как сравнить два столбца в Excel — методы сравнения данных Excel

Это глава из книги: Майкл Гирвин. Ctrl+Shift+Enter. Освоение формул массива в Excel.

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

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

Рис. 4.1. Цель формулы: выбрать минимальное время для каждого города

Скачать заметку в формате или в формате

Как показано на рис. 4.2, вам следует начать ввод формулы в ячейку E3 с функции МИН. Но вы же не можете поместить в аргумент число1 все значения столбца B!? Вы хотите отобрать только те значения, которые относятся к Окленду.

Как показано на рис. 4.3, на следующем этапе введите функцию ЕСЛИ в качестве аргумента число1 для МИН. Вы вложили ЕСЛИ внутрь МИН.

Разместив курсор в месте введения аргумента лог_выражение функции ЕСЛИ (рис. 4.4), вы выделяете диапазон с названиями городов А3:А8, а затем нажимаете F4, чтобы сделать ссылки на ячейки абсолютными (подробнее см., например, ). Затем вы набираете сравнительный оператор – знак равенства. Наконец, вы выделите ячейку слева от формулы – D3, оставляя ссылку на нее относительной. Сформулированное условие позволит выбрать только Окленды при просмотре диапазона А3:А8.


Рис. 4.4. Создайте оператор массива в аргументе лог_выражение функции ЕСЛИ

Итак, вы создали оператор массива с помощью оператора сравнения. В любой момент обработки массива оператор массива является оператором сравнения, так что результатом его работы будет массив, состоящий из значений ИСТИНА и ЛОЖЬ. Чтобы убедиться в этом, выделите массив (для этого щелкните во всплывающей подсказке на аргумент лог_выражение ) и нажмите F9 (рис. 4.5). Обычно вы используете один аргумент лог_выражение, возвращающее либо ИСТИНУ, либо ЛОЖЬ; здесь же результирующий массив вернет несколько значений ИСТИНЫ и ЛЖИ, так что функция МИН выберет минимальное число только для тех городов, которые соответствуют значению ИСТИНА.


Рис. 4.5. Чтобы увидеть массив, состоящий из значений ИСТИНА и ЛОЖь, щелкните во всплывающей подсказке на аргумент лог_выражение и нажмите F9

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

Сравнение двух столбцов на совпадения в Excel

Как сделать сравнение значений в Excel двух столбцов? Для решения данной задачи рекомендуем использовать условное форматирование, которое быстро выделить цветом позиции, находящиеся только в одном столбце. Рабочий лист с таблицами:

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

  1. Выберите инструмент «ФОРМУЛЫ»-«Определенные имена»-«Присвоить имя».
  2. В появившемся окне в поле «Имя:» введите значение – Таблица_1.
  3. Левой клавишей мышки сделайте щелчок по полю ввода «Диапазон:» и выделите диапазон: A2:A15. И нажмите ОК.


Для второго списка выполните те же действия только имя присвойте – Таблица_2. А диапазон укажите C2:C15 – соответственно.

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

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

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

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

При определении условий для форматирования ячеек столбцов мы использовали функцию СЧЕТЕСЛИ. В данном примере эта функция проверяет сколько раз встречается значение второго аргумента (например, A2) в списке первого аргумента (например, Таблица_2). Если количество раз = 0 в таком случае формула возвращает значение ИСТИНА. В таком случае ячейке присваивается пользовательский формат, указанный в параметрах условного форматирования. Ссылка во втором аргументе относительная, значит по очереди будут проверятся все ячейки выделенного диапазона (например, A2:A15). Вторая формула действует аналогично. Этот же принцип можно применять для разных подобных задач. Например, для сравнения двух прайсов в Excel даже

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

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

Надстройка для сравнения значений в двух диапазонах Excel

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

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

При сравнении значений в Excel существует один нюанс. Числа могут быть отформатированы как текст, что не всегда можно определить визуально (). То есть число в Excel может быть как числовым значением, так и текстовым и эти два значения не равны между собой. Очень часто это явление служит причиной разного рода ошибок. Для того, чтобы исключить такие ошибки, используется опция "Сравнивать числа, как текст", которая включена по умолчанию. Использование этой опции позволяет сравнивать не числовые, а преобразованные из них текстовые значения.

Надстройка позволяет:

1. Одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel;

2. находить элементы диапазона №1, которых нет в диапазоне №2;

3. находить элементы диапазона №2, которых нет в диапазоне №1;

4. находить элементы диапазона №1, которые есть в диапазоне №2;

5. находить элементы диапазона №2, которые есть в диапазоне №1;

6. выбирать один из девяти цветов заливки для ячеек с искомыми значениями;

7. быстро выделять диапазоны, используя опцию "Ограничить диапазоны", при этом можно выделять целиком строки и столбцы, сокращение выделенного диапазона до используемого производится автоматически;

8. вместо сравнения числовых значений использовать сравнение текстовых значений при помощи опции "Сравнить числа как текст";

9. сравнивать значения в ячейках диапазона, не учитывая лишние пробелы;

10. сравнивать значения в ячейках диапазона, не учитывая регистр.

Как сравнить два столбца с использованием макроса (надстройки) для Excel?

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

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

Использование условного оператора ЕСЛИ

Метод использования условного оператора ЕСЛИ отличается тем, что для сравнения двух столбцов используется только необходимая для сравнения часть, а не весь массив целиком. Ниже описаны шаги по реализации данного метода:

Разместите оба столбца для сравнения в колонках A и B рабочего листа.

В ячейке С2 введите следующую формулу =ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(A2;$B$2:$B$11;0));"";A2) и протяните ее до ячейки С11. Данная формула последовательно просматривает наличие каждого элемента из столбца A в столбце B и возвращает значение элемента, если оно было найдено в столбце B.


Использование формулы подстановки ВПР

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

Чтобы сравнить два столбца с данными, находящимися в столбцах A и B(аналогично предыдущему способу), введите следующую формулу =ВПР(A2;$B$2:$B$11;1;0) в ячейку С2 и протяните ее до ячейки С11.


Данная формула просматривает каждый элемент из основного массива в сравниваемом массиве и возвращает его значение, если оно было найдено в столбце B. В противном случае Excelвернет ошибку #Н/Д.

Использование макроса VBA

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

Sub Find_Matches()
Dim CompareRange As Variant , x As Variant , y As Variant
" Установка переменной CompareRangeравной сравниваемому диапазону
Set CompareRange = Range("B1:B11" )
" Если сравниваемый диапазон находится на другом листе или книге,
" используйте следующий синтаксис
" Set CompareRange = Workbooks("Книга2"). _
" Worksheets("Лист2").Range("B1:B11")
"
" Сравнение каждого элемента в выделенном диапазоне с каждым элементом
" переменной CompareRange
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 2) = x
Next y
Next x
End Sub

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

Чтобы использовать макрос, вернитесь на рабочий лист, выделите основной диапазон (в нашем случае, это ячейки A1:A11), нажмите сочетание клавиш Alt+F8. В появившемся диалоговом окне выберите макрос Find_ Matches и щелкните кнопку выполнить.


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

Использование надстройки Inquire

Итог

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

При сравнении нескольких сопоставимых объектов в Excel таблицах, данные часто организуют по столбцам, чтобы было удобно сравнивать характеристики этих объектов построчно. Например, модели автомобилей, телефоны, экспериментальные и контрольные группы, ряд магазинов торговой сети и др. При большом числе строк визуальный анализ не может быть достоверным. Функции ВПР, ИНДЕКС, ПОИСКПОЗ (VLOOKUP, INDEX, MATCH) удобны для сравнения данных по ячейкам и не дают общей картины. А как выяснить, насколько в целом столбцы схожи между собой? Идентичны ли столбцы?

Надстройка «Сопоставить столбцы» позволяет сопоставить столбцы и увидеть общую картину:

  • Сравнить два и более столбцов друг с другом
  • Сравнить столбцы с эталонными значениями
  • Вычислить точный процент соответствия
  • Представить результат в наглядной сводной таблице

Язык видео: английский. Субтитры: русский, английский. (Внимание: видео может не отражать последние обновления. Используйте инструкцию ниже.)

Добавить «Сопоставить столбцы» в Excel 2016, 2013, 2010, 2007

Подходит для: Microsoft Excel 2016 - 2007, desktop Office 365 (32-бит и 64-бит).

Как работать с надстройкой:

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

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

  1. Нажмите кнопку «Сопоставить столбцы» на панели XLTools > Выберите «Сопоставить столбцы между собой».

  2. Нажмите ОК >


Совет:
Выберите сводную таблицу результата > Кликните по пиктограмме Экспресс-анализа > Примените «Цветовую шкалу».

Прочтение результата: прототипы Тип 1 и Тип 3 практически идентичны, показатель соответствия на 99% говорит о том, что 99% их параметров в строках совпадают. Тип 2 и Тип 4 схожи менее всего — их параметры совпадают только на 30%.

Как сравнить столбцы с эталонными значениями и вычислить степень соответствия

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

  1. Выберите столбцы для сравнения.
    Напр., столбцы с данными прототипов.
  2. Нажмите кнопку «Сопоставить столбцы» на панели XLTools.
  3. Выберите «Сопоставить с диапазоном эталонных столбцов» > Выберите столбцы эталонных значений.
    Напр., столбцы со стандартами.
  4. Отметьте «Столбцы содержат заголовки», если это так.
  5. Отметьте «Показывать процент соответствия», чтобы степень соответствия отображалась в процентах.
    В противном случае результат отобразится как 1 (полное соответствие) или 0 (нет соответствия).
  6. Укажите, куда следует поместить результат: на новый или на существующий лист.
  7. Нажмите ОК > Готово, результат представлен в сводной таблице.


Совет: чтобы было проще интерпретировать результат, примените к нему условное форматирование:
Выберите сводную таблицу результата > Кликните по пиктограмме Экспресс-анализа > Примените «Цветовую шкалу».

Прочтение результата: прототип Тип 2 на 99% соответствует Стандарту 2, т.е. 99% их параметров в строках совпадают. Продукт 5 ближе всего к Стандарту 3 - 96% их параметров идентичны. В то же время Продукт 4 далёк от соответствия какому-либо из трёх стандартов. Теперь можно сделать вывод, насколько каждый из прототипов отклоняется от целевых эталонных значений.

В решении каких задач поможет надстройка «Сопоставить столбцы»

Надстройка построчно сканирует ячейки и вычисляет процент одинаковых значений в столбцах. XLTools «Сопоставить столбцы» не подходит для обычного сравнения значений в ячейках — она не предназначена для поиска дубликатов или уникальных значений.

Надстройка «Сопоставить столбцы» имеет другое назначение. Её главная задача — выяснить, насколько, в целом, наборы данных (столбцы) схожи или отличны. Надстройка помогает с анализом большого объёма данных, когда вам нужно посмотреть шире, на макро-уровне, напр. ответить на такие вопросы:

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