Сравните данные в двух листах Google или столбцах на предмет совпадений и различий

  • Поделись Этим
Michael Brown

Оглавление

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

    Сравнить два столбца или листа

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

    Сравните два столбца в Google Sheets на предмет совпадений и различий

    Я начну со сравнения двух ячеек в Google Sheets. Этот способ позволяет сканировать целые столбцы ряд за рядом.

    Пример 1. Google Sheets - сравнение двух ячеек

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

    =A2=C2

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

    Совет. Чтобы сравнить столбцы из разных файлов, необходимо использовать функцию IMPORTRANGE:

    =A2=IMPORTRANGE("spreadsheet_url", "Sheet1!A2")

    Пример 2. Google Sheets - сравнение двух списков на предмет совпадений и различий

    • Более удобным решением будет использование функции IF. Вы сможете установить точное состояние для одинаковые и разные клетки :

      =IF(A2=C2,"Match","Differ")

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

      =IF(EXACT(A2,C2), "Совпадает", "Отличается")

      Где EXACT рассматривает случай и ищет полные идентичности.

    • Чтобы определить только строки с дублирующие клетки , используйте эту формулу:

      =IF(A2=C2,"Match","")

    • Чтобы отметить только строки с уникальные записи между ячейками в двух столбцах, возьмите этот:

      =IF(A2=C2,"","Differ")

    Пример 3. Сравнение двух столбцов в Google Sheets

    • Есть способ избежать копирования формулы в каждой строке. Вы можете создать формулу массива IF в первой ячейке вашего вспомогательного столбца:

    =ArrayFormula(IF(A2:A=C2:C,"", "Differ"))

    Этот IF сопоставляет каждую ячейку столбца A с той же строкой в столбце C. Если записи разные В этой формуле массива хорошо то, что она автоматически отмечает каждый ряд сразу:

  • В случае, если вы предпочитаете называть строки с помощью идентичные клетки , заполните второй аргумент формулы вместо третьего:
  • =ArrayFormula(IF(A2:A=C2:C, "Match",""))

    Пример 4. Сравнение двух таблиц Google для выявления различий

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

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

    Имеются две таблицы с товарами и их ценами. Я хочу найти все ячейки с разным содержимым между этими таблицами:

    Начните с создания нового листа и введите следующую формулу в A1:

    =IF(Sheet1!A1Sheet2!A1,Sheet1!A1&"

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

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

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

    =IF(Sheet1!A1IMPORTRANGE("2nd_spreadsheet_url", "Sheet1!A1"),Sheet1!A1&"

    Инструмент для Google Sheets для сравнения двух столбцов и листов

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

    Она сравнит два листа Google и столбцы на предмет дубликатов или уникальных записей за 3 шага, пометит найденные записи столбцом статуса (который, кстати, можно фильтровать) или цветом, скопирует или переместит их в другое место, или даже очистит ячейки и удалит целые строки с дубликатами.

    Я использовал дополнение, чтобы найти строки из Sheet1, которые отсутствуют в Sheet2 на основе Фрукты и MSRP колонны:

    Затем я сохранил свои настройки в одном сценарии. Теперь я могу быстро запускать их без повторного прохождения всех шагов, когда записи в моих таблицах меняются. Мне просто нужно запустить этот сценарий из меню Google Sheets:

    Для вашего удобства мы описали все возможности инструмента на странице помощи и в этом видео:

    Не стесняйтесь, попробуйте сами и обратите внимание, сколько времени это сэкономит вам :)

    Сравните данные в двух таблицах Google и найдите недостающие записи

    Сравнение двух таблиц Google для выявления различий и повторов - это половина работы, но как быть с отсутствующими данными? Для этого тоже существуют специальные функции, например, VLOOKUP. Давайте посмотрим, что можно сделать.

    Поиск отсутствующих данных

    Пример 1

    Представьте, что у вас есть два списка продуктов (столбцы A и C в моем случае, но они могут быть просто на разных листах). Вам нужно найти те, которые представлены в первом списке, но не представлены во втором. Эта формула поможет вам:

    =ISERROR(VLOOKUP(A2,$C:$C,1,0))

    Как работает формула:

    • VLOOKUP ищет продукт из A2 во втором списке. Если он там есть, функция возвращает название продукта. В противном случае вы получите ошибку #N/A, означающую, что значение не было найдено в столбце C.
    • ISERROR проверяет, что возвращает VLOOKUP, и показывает вам TRUE, если это значение, и FALSE, если это ошибка.

    Таким образом, ячейки с FALSE - это то, что вы ищете. Скопируйте формулу в другие ячейки, чтобы проверить каждый продукт из первого списка:

    Примечание. Если ваши столбцы находятся на разных листах, ваша формула будет ссылаться на один из них:

    =ISERROR(VLOOKUP(A2,Sheet2!$C:$C,1,0))

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

    =ArrayFormula(ISERROR(VLOOKUP(A2:A10,$C:$C,1,0)))

    Пример 2

    Другим разумным способом было бы подсчитать все появления продукта из A2 в столбце C:

    =IF(COUNTIF($C:$C, $A2)=0, "Не найдено", "")

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

    Пример 3

    Где есть VLOOKUP, там есть MATCH. Вы знаете это, не так ли? ;) Вот формула для сопоставления продуктов, а не подсчета:

    =IF(ISERROR(MATCH($A2,$C:$C,0)), "Не найдено","")

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

    =IF(ISERROR(MATCH($A2,$C2:$C28,0)), "Не найдено","")

    Вытащить соответствующие данные

    Пример 1

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

    =INDEX($E:$E,MATCH($A2,$D:$D,0))

    Формула сравнивает фрукты в столбце A с фруктами в столбце D. Для всех найденных фруктов она переносит цены из столбца E в столбец B.

    Пример 2

    Как вы уже догадались, в качестве другого примера можно использовать функцию Google Sheets VLOOKUP, которую мы описывали некоторое время назад.

    Тем не менее, есть еще несколько инструментов для этой работы. Мы описали их все в нашем блоге:

    1. Этого достаточно для основных задач: поиска, сопоставления и обновления записей.
    2. Они не просто обновляют ячейки, но и добавляют связанные столбцы и несовпадающие строки.

    Слияние листов с помощью надстройки

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

    Совет. Также обязательно посмотрите это видео о дополнении Merge Sheets:

    Условное форматирование для сравнения данных в двух Google Sheets

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

    Выделение дубликатов в двух листах или столбцах

    Давайте сравним два столбца в Google Sheets на предмет совпадений и закрасим только те ячейки в столбце A, которые совпадают с ячейками в той же строке в столбце C:

    1. Выберите диапазон с записями для раскрашивания (A2:A10 для меня).
    2. Перейти к Формат> Условное форматирование в меню электронных таблиц.
    3. Введите простую формулу для правила:

      =A2=C2

    4. Выберите цвет для выделения ячеек.

    Совет. Если размер ваших столбцов постоянно меняется, и вы хотите, чтобы правило учитывало все новые записи, примените его ко всему столбцу (A2:A, предполагая, что данные для сравнения начинаются с A2) и измените формулу следующим образом:

    =AND(A2=C2,ISBLANK(A2)=FALSE)

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

    Примечание. Чтобы сравнить данные из двух разных листов, вам придется внести другие изменения в формулу. Видите ли, условное форматирование в Google Sheets не поддерживает межлистовые ссылки. Однако вы можете получить доступ к другим листам косвенно:

    =A2=INDIRECT("Sheet2!C2:C")

    В этом случае укажите диапазон, к которому нужно применить правило - A2:A10.

    Сравнение двух листов Google и столбцов для выявления различий

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

    =A2C2

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

    =AND(A2=C2,ISBLANK(A2)=FALSE)

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

    =A2INDIRECT("Sheet1!C2:C")

    Примечание. Не забудьте указать диапазон, к которому будет применяться правило - A2:A10.

    Сравните два списка и выделите записи в обоих списках

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

    Пример 1. Сравнение двух столбцов в Google Sheets и выделение различий (уникальных)

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

    Раскрасьте колонку A: =COUNTIF($C$2:$C$9,$A2)=0

    Цветная колонка C: =COUNTIF($A$2:$A$10,$C2)=0

    Вот те уникальные, которые у меня есть:

    Пример 2. Поиск и выделение дубликатов в двух столбцах в Google Sheets

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

    Цвет дублируется между колонками только в A: =COUNTIF($C$2:$C$9,$A2)>0

    Цветные дубликаты между колонками только в C: =COUNTIF($A$2:$A$10,$C2)>0

    Совет. Найдите еще много примеров формул для выделения дубликатов в Google Sheets в этом руководстве.

    Быстрый способ сопоставления столбцов и выделения записей

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

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

    Вот как я выделил дубликаты между двумя таблицами на основе Фрукты и MSRP колонки с помощью инструмента:

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

    Совет. Видели ли вы демонстрационное видео для дополнения "Сравнить столбцы или листы"? Посмотрите его.

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

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.