-2

У меня есть 2 столбца (A & B) с более чем 16 000 строк данных в каждом столбце.

Столбец A имеет на 80 строк больше, чем столбец B Они оба должны быть одинакового количества строк.

Как сравнить два столбца, чтобы увидеть, что упало в столбце B? Столбец B будет иметь имена, которых нет в столбце A. Я хочу сравнить столбец A, чтобы убедиться, что все имена находятся в столбце B.

Пример:

--------------------------------------------
| Column A           |     Column B        |
--------------------------------------------
| Abdeljawa,Mohammed | ABDELJAWA MOHAMMED  |
| Abdella,Georgette  | ABDELLA GEORGETTE   |
| Abdul,Moiz M       | ABDELLA ZIAD        |
| Abdullahi,Abukar   | ABDUL MOIZ MOSHEEN  |
--------------------------------------------

6 ответов6

1

Простой ответ:

В ячейку C1 введите формулу:

=VLOOKUP(A1,B:B,1,FALSE)

и перетащите его вниз столбец C до конца данных в столбце B

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


Копать глубже...

Исходя из предоставленных вами примеров данных, похоже, что одно и то же имя в столбце A может выглядеть по-разному в столбце B

Три вещи, которые я заметил:

  • Использование заглавных букв (все в верхнем регистре против предложения)
  • Пунктуация (добавление запятой вместо пробела)
  • Порядок (например, FirstName [пробел] LastName против LastName, FirstName [пробел] Средний инициал)

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

Возможно, вы захотите рассмотреть только некоторые из этих несоответствий (если таковые имеются) в зависимости от количества вхождений каждого из них.

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

Капитализация: Функция VLOOKUP в Excel нечувствительна к регистру. Так что это не должно быть проблемой, если вы используете VLOOKUP для поиска данных. Но если вы используете другую функцию, заглавными буквами легко управлять. Что вам нужно сделать, это преобразовать все ваши данные в нижний регистр или в верхний регистр, чтобы обеспечить согласованность. (Я лично предпочитаю UPPERCASE по причинам, которые я действительно не знаю)

  • Чтобы преобразовать данные в нижний регистр, используйте функцию LOWER
  • Чтобы преобразовать данные в верхний регистр, используйте функцию верхний

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

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

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

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

=SUBSTITUTE(A1,","," ")

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

=VLOOKUP(SUBSTITUTE(A1,","," "),B:B,1,FALSE)

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

  1. Убедитесь, что существует значительное количество данных, которые необходимо переупорядочить, прежде чем делать это.
  2. Убедитесь в том , что то же самое имя упорядочено по- разному в 2 колонках последовательным образом.
  3. Если такие данные есть среди правильно совпадающих данных, делайте это только с данными, для которых нет совпадений.

Чтобы изменить порядок имен в ячейке с LastName, Firstname на FirstName LastName, см. Ниже.

Взято из Как я могу переключить строку с «lastName, firstName» на «firstName LastName»?:

Если имя в A2, попробуйте эту формулу в B2 скопировать вниз

= MID(A2 & "" & A2, НАЙТИ ("", A2)+1, LEN (A2)-1)

Если вы хотите изменить порядок имен наоборот и / или учитывать среднюю букву при переупорядочении, вы можете использовать функции LEFT, RIGHT, MID, LEN, FIND по мере необходимости, чтобы сделать это.

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

0

мой английский плохой, но я надеюсь, что я перечислю ниже, чтобы помочь

в начале: имя в ячейке переключилось на большее количество ячеек с текстом на веселье с данными. пример Cell1 = Abdul, Moiz M Cell3 = Abdul Cell4 = Moiz Cell5 = M And Cell2 = ABDUL MOIZ MOSHEEN Cell6 = ABDUL Cell7 = MOIZ Cell8 = МОШИН

Их верхние клетки 2,3,4,6,7,8

А с MATCH весело подсчитывает количество совпадений для ячеек 2,3,4,6,7,8, а два и более совпадения являются хорошим результатом с малой вероятностью сбоев.

0

Есть много способов, вот один:

Поместите в столбец C формулу, которая принимает каждое значение столбца A и ищет его в столбце B; если не найдено, отметьте это. Затем установите фильтр на флаге; Таким образом, вы можете легко увидеть различия.

Формула будет выглядеть так (ячейка C1):
=VLOOKUP(A1,B$1:B$20000,1,FALSE)
Это поместит значение из A в C, если оно также существует в B, и #ERROR если нет.

Затем скопируйте формулу вниз и отфильтруйте C для #ERROR , вы увидите все значения A, отсутствующие в B.

Если у вас есть - как в ваших примерах - небольшие различия в вашем правописании, этого недостаточно; вам нужно использовать UPPER(A1) вместо A1 чтобы они соответствовали друг другу, и если у вас тоже есть эти запятые, вам нужно добавить замену ',' ничем.

0

Вы можете использовать формулу VLOOKUP, чтобы определить, какие значения столбца A не отображаются в столбце B. Вставьте приведенную ниже формулу в первую ячейку пустого столбца, а затем скопируйте ее до конца. Если ячейка возвращает # N/A, то значение col A в этой строке не появляется в столбце B.

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

= ВПР (А1, В: В, 1, FALSE)

0

Дело довольно сложное, учитывая, что столбец A содержит запятые, а столбец B - нет, а столбец B - все заглавные, а столбец A - нет. Что бы я сделал лично, это загрузил каждый столбец в отдельные текстовые файлы, а затем использовал утилиту Linux sed, чтобы избавиться от запятой и перейти на все прописные буквы в первом файле. Тогда я мог бы просто запустить утилиту сравнения.

0

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

  • = ЕСЛИ (ВЕРХНЯЯ (ВЕРХНЯЯ (ЛЕВАЯ (A2,5)))= ВЕРХНЯЯ (ВЕРХНЯЯ (ЛЕВАЯ (В2,5))), D3, СТРОКА ()

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

Затем перейдите к следующему.

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

Этот подход использует повторный цикл вместо того, чтобы все фиксировать в одном подходе. Найти 1 проблему, исправить 1 проблему, затем перейти к следующей проблеме, затем к следующей и т.д., Пока все не будет решено. Акцент делается на том, чтобы быстро попасть в нужную область При наличии номера строки можно сразу перейти к следующему. если 1205 был следующей проблемой, Ctrl-G для A1205 сразу переходит к следующей проблеме. Формула не будет точно отображать все проблемы, так как после того, как строки не совпадают со строкой 1, имеющей больше данных, почти все сравнения завершатся неудачно. Это быстрый способ найти вашу первую проблему, исправить ее, а затем перейти к следующей проблеме.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .