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

Translate

У меня есть файл excel с 10000 строками в столбце A, некоторые значения совпадают.

Пример:

A1 - P7767

A2 - P3443

A3 - P7767

A4 - P8746

A5 - P9435

и т.д...

Затем у меня есть еще один столбец со 100 строками, в которых есть некоторые значения, найденные в столбце A,

B1 - P7767

B2 - P8746

и т.д...

Мне нужно выделить все ячейки в столбце A, где значение находится в любом из значений в столбце B

Таким образом, в основном столбец B проверяет, может ли он найти такое же значение в любом месте столбца A, если true, выделите ячейку, оставляя все ячейки белыми, когда значение не найдено в столбце B

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

This question and all comments follow the "Attribution Required."

Все ответы

Translate

Может быть более простой вариант, но вы можете использовать ВПР, чтобы проверить, отображается ли значение в списке (и ВПР - это мощная формула, с которой все равно можно разобраться).

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

=NOT(ISNA(VLOOKUP(A1,$B:$B,1,FALSE)))

Специальное копирование и вставка> Форматы, чтобы скопировать этот условный формат в другие ячейки в столбце A.

Что делает приведенная выше формула:

  • ВПР ищет значение ячейки A1 (первый параметр) по всему столбцу B ($ B: $ B) в первом столбце (это третий параметр, здесь избыточен, но обычно ВПР ищет таблицу, а не столбец). Последний параметр, FALSE, указывает, что совпадение должно быть точным, а не просто самым близким.
  • ВПР вернет #ISNA, если совпадение не найдено, поэтому NOT (ISNA (...)) возвращает истину для всех ячеек, для которых есть совпадения в столбце B.
Источник
Translate

Простая формула для использования:

=COUNTIF($B:$B,A1)

Указанная формула предназначена для ячейки A1. Просто скопируйте и вставьте специальный формат во весь столбец A

Источник
Translate

ПРИМЕЧАНИЕ. Вы можете удалить повторяющиеся элементы (например, повторяющиеся записи в одном столбце) перед выполнением этих действий, чтобы предотвратить ложные срабатывания.

  1. Выберите оба столбца
  2. щелкните Условное форматирование
  3. нажмите Выделить правила ячеек
  4. нажмите "Повторяющиеся значения" (значения по умолчанию должны быть в порядке)
  5. Дубликаты теперь выделены красным:

enter image description here

Источник
Translate

Самый простой способ сделать это, по крайней мере, для меня:

Условный формат-> Добавить новое правило-> Установить собственную формулу:

=ISNA(MATCH(A2;$B:$B;0))

Где A2 - это первый элемент в столбце A для сравнения, а B - столбец, в котором будет выполняться поиск элемента A.

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

Надеюсь это поможет

Источник
Translate

A1 -> условное форматирование -> значение ячейки B1 -> формат: все, что вы хотите

надеюсь, это поможет

Источник
Translate

Предположим, вы хотите сравнить столбец A и столбец H в одной электронной таблице.

Вам нужно перейти в другой столбец рядом с этими двумя столбцами и вставить эту формулу: = (Sheet1! A: A = Sheet1! H: H), это будет отображать FALSE или TRUE в столбце. Таким образом, вы можете использовать этот новый столбец для раскрашивания несовпадающих значений с помощью функции условного форматирования цвета.

Источник
Translate

Я пытался сравнить столбцы AB и выделить одинаковый текст, но при использовании вышеупомянутой формулы некоторый текст вообще не совпадал. Поэтому я использовал форму (Макрос VBA для сравнения двух столбцов и различий между ячейками выделения цветом), и я изменил несколько вещей, чтобы адаптировать его к моему приложению и найти любой желаемый столбец (просто щелкнув его). В моем случае я использую большое и разное количество строк в каждом столбце. Надеюсь это поможет:

Sub ABTextCompare ()

Dim Report As Worksheet
Dim i, j, colNum, vMatch As Integer
Dim lastRowA, lastRowB, lastRow, lastColumn As Integer
Dim ColumnUsage As String
Dim colA, colB, colC As String
Dim A, B, C As Variant

Set Report = Excel.ActiveSheet
vMatch = 1

'Select A and B Columns to compare
On Error Resume Next
 Set A = Application.InputBox(Prompt:="Select column to compare", Title:="Column A", Type:=8)
  If A Is Nothing Then Exit Sub
colA = Split(A(1).Address(1, 0), "$")(0)
 Set B = Application.InputBox(Prompt:="Select column being searched", Title:="Column B", Type:=8)
   If A Is Nothing Then Exit Sub
  colB = Split(B(1).Address(1, 0), "$")(0)
 'Select Column to show results
 Set C = Application.InputBox("Select column  to show results", "Results", Type:=8)
    If C Is Nothing Then Exit Sub
  colC = Split(C(1).Address(1, 0), "$")(0)

'Get Last Row
lastRowA = Report.Cells.Find("", Range(colA & 1), xlFormulas, xlByRows, xlPrevious).Row - 1 ' Last row in column A
lastRowB = Report.Cells.Find("", Range(colB & 1), xlFormulas, xlByRows, xlPrevious).Row - 1 ' Last row in column B

 Application.ScreenUpdating = False
'***************************************************
For i = 2 To lastRowA
      For j = 2 To lastRowB
          If Report.Cells(i, A.Column).Value <> "" Then
              If InStr(1, Report.Cells(j, B.Column).Value, Report.Cells(i, A.Column).Value, vbTextCompare) > 0 Then
                  vMatch = vMatch + 1
                  Report.Cells(i, A.Column).Interior.ColorIndex = 35 'Light green background
                  Range(colC & 1).Value = "Items Found"
                  Report.Cells(i, A.Column).Copy Destination:=Range(colC & vMatch)
                  Exit For
              Else
                  'Do Nothing
              End If
          End If
      Next j
  Next i
If vMatch = 1 Then
    MsgBox Prompt:="No Itmes Found", Buttons:=vbInformation
End If
'***************************************************
Application.ScreenUpdating = True

Конец подписки

Источник
Translate

Не хотите делать так много работы, ребята .. Просто нажмите Ctrl и выберите первый столбец, нажмите Ctrl и выберите второй столбец. Затем нажмите условное форматирование -> Выделить правила ячеек -> Равно.

вот и все. вы сделали. :)

Источник
Leave a Reply
You must be logged in to post a answer.
Об авторе