Excel porównuje dwie kolumny i wyróżnia po znalezieniu

Translate

Mam plik programu Excel z 10 000 wierszami w kolumnie A. Niektóre wartości są takie same.

Przykład:

A1 - P7767

A2 - P3443

A3 - P7767

A4 - P8746

A5 - P9435

itp...

Mam wtedy kolejną kolumnę ze 100 wierszami, które mają niektóre wartości znalezione w kolumnie A,

B1 - P7767

B2 - P8746

itp...

Muszę zaznaczyć wszystkie komórki w kolumnie A, w których wartość znajduje się w dowolnej wartości w kolumnie B.

Zasadniczo kolumna B sprawdza, czy może znaleźć tę samą wartość w dowolnym miejscu w kolumnie A, jeśli prawda, podświetl komórkę pozostawiając dowolne komórki na biało, gdy wartość nie zostanie znaleziona w kolumnie B

Mam nadzieję, że dobrze to wyjaśniłem, przeprowadziłem pewne badania i uważam, że muszę użyć formatowania warunkowego, aby uzyskać ten wynik, ale naprawdę utknąłem na formule do użycia i nie mogę znaleźć przykładu w Internecie (Może nie szukam poprawny termin, ponieważ nie jestem pewien, jak to się dokładnie nazywa)

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

Wszystkie odpowiedzi

Translate

Może być prostsza opcja, ale możesz użyć funkcji WYSZUKAJ.PIONOWO, aby sprawdzić, czy wartość pojawia się na liście (a WYSZUKAJ.PIONOWO to potężna formuła, z którą i tak można sobie poradzić).

Tak więc dla A1 możesz ustawić format warunkowy za pomocą następującej formuły:

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

Kopiuj i wklej specjalnie> Formaty, aby skopiować ten format warunkowy do innych komórek w kolumnie A.

Co robi powyższa formuła:

  • WYSZUKAJ.PIONOWO wyszukuje wartość komórki A1 (pierwszy parametr) w całej kolumnie B ($ B: $ B), w pierwszej kolumnie (jest to trzeci parametr, tutaj nadmiarowy, ale zwykle WYSZUKAJ.PIONOWO wyszukuje tabelę, a nie kolumna). Ostatni parametr, FALSE, określa, że dopasowanie musi być dokładne, a nie tylko najbliższe.
  • WYSZUKAJ.PIONOWO zwróci #ISNA, jeśli nie zostanie znalezione dopasowanie, więc NOT (ISNA (...)) zwraca wartość true dla wszystkich komórek, które mają dopasowanie w kolumnie B.
Źródło
Translate

Prosta formuła do użycia to

=COUNTIF($B:$B,A1)

Podany wzór dotyczy komórki A1. Po prostu skopiuj i wklej specjalny format do całej kolumny A

Źródło
Translate

UWAGA: Możesz chcieć usunąć zduplikowane elementy (np. Zduplikowane wpisy w tej samej kolumnie) przed wykonaniem tych kroków, aby zapobiec fałszywym trafom.

  1. Wybierz obie kolumny
  2. kliknij Formatowanie warunkowe
  3. kliknij Reguły podświetlania komórek
  4. kliknij Powiel wartości (domyślne powinny być OK)
  5. Duplikaty są teraz zaznaczone na czerwono:

enter image description here

Źródło
Translate

Najłatwiej to zrobić, przynajmniej dla mnie, to:

Format warunkowy-> Dodaj nową regułę-> Ustaw własną formułę:

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

Gdzie A2 to pierwszy porównywany element w kolumnie A, a B to kolumna, w której będzie przeszukiwany element A.

Po ustawieniu formuły i wybraniu formatu zastosuj tę regułę do wszystkich elementów w kolumnie.

Mam nadzieję że to pomoże

Źródło
Translate

A1 -> formatowanie warunkowe -> wartość komórki to B1 -> format: cokolwiek chcesz

mam nadzieję, że to pomoże

Źródło
Translate

Załóżmy, że chcesz porównać kolumnę A i kolumnę H w tym samym arkuszu kalkulacyjnym.

Musisz przejść do kolejnej kolumny obok tych 2 kolumn i wkleić tę formułę: = (Arkusz1! A: A = Arkusz1! H: H) to wyświetli FALSE lub TRUE w kolumnie. Możesz więc użyć tej nowej kolumny do pokolorowania niezgodnych wartości za pomocą funkcji warunkowego formatowania kolorów.

Źródło
Translate

Próbowałem porównać kolumny AB i podświetlić równy tekst, ale używając obove fomrul, część tekstu w ogóle nie pasowała. Więc użyłem formularza (Makro VBA do porównywania dwóch kolumn i podświetlania kolorów różnic w komórkach) i zmodyfikowałem kilka rzeczy, aby dostosować go do mojej aplikacji i znaleźć dowolną żądaną kolumnę (po prostu klikając ją). W moim przypadku używam dużej i różnej liczby wierszy w każdej kolumnie. Mam nadzieję że to pomoże:

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

Napis końcowy

Źródło
Translate

Nie chcę robić tyle pracy, faceci ... Po prostu naciśnij Ctr i wybierz Colum one i naciśnij Ctr i wybierz kolumnę dwa. Następnie kliknij formatowanie warunkowe -> Reguły podświetlania komórek -> Równoważne.

i to wszystko. jesteś skończony. :)

Źródło
Leave a Reply
You must be logged in to post a answer.
O autorze