Az Excel összehasonlít két oszlopot, és jelölje ki, amikor megtalálják

Translate

Van egy Excel fájlom, amelynek A oszlopában 10 000 sor található, egyes értékek megegyeznek.

Példa:

A1 - P7767

A2 - P3443

A3 - P7767

A4 - P8746

A5 - P9435

stb...

Ezután van még egy oszlopom 100 sorral, amelyek az A oszlopban található értékek egy részét tartalmazzák,

B1 - P7767

B2 - P8746

stb...

Ki kell emelnem az A oszlop összes celláját, ahol az érték a B oszlop bármelyikében található

Tehát alapvetően a B oszlop ellenőrzi, hogy az A oszlopban bárhol megtalálhatja-e ugyanazt az értéket, ha igaz, jelölje ki a cellát, ha bármelyik cella fehér marad, ha az érték nem található meg a B oszlopban

Remélem, hogy ezt jól elmagyaráztam, elvégeztem néhány kutatást, és úgy gondolom, hogy feltételes formázást kell használnom az eredmény eléréséhez, de nagyon ragaszkodom a használni kívánt képlethez, és úgy tűnik, hogy nem találok példát az interneten (talán nem keresek a helyes kifejezés, mivel nem tudom, hogy hívják pontosan)

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

Minden válasz

Translate

Lehet, hogy van egy egyszerűbb lehetőség, de a VLOOKUP segítségével ellenőrizheti, hogy egy érték megjelenik-e a listában (és a VLOOKUP egy erőteljes képlet, amellyel egyébként is foglalkozni lehet).

Tehát az A1 esetében beállíthat egy feltételes formátumot a következő képlet segítségével:

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

Speciális másolás és beillesztés> Formátumok, hogy ezt a feltételes formátumot átmásolja az A oszlop többi cellájába.

Mit csinál a fenti képlet:

  • A VLOOKUP az A1 oszlop (első paraméter) értékét keresi az első B oszlop teljes értékével ($ B: $ B) szemben (ez a 3. paraméter, itt felesleges, de általában a VLOOKUP egy táblázatot keres, nem pedig egy oszlop). Az utolsó paraméter, a FALSE, meghatározza, hogy az egyezésnek pontosnak kell lennie, nem csak a legközelebbi egyezésnek.
  • A VLOOKUP #ISNA-t ad vissza, ha nem található egyezés, így a NOT (ISNA (...)) true értéket ad vissza minden olyan cellára, amelynek egyezése van a B oszlopban.
Forrás
Translate

Egy egyszerű képlet a használata

=COUNTIF($B:$B,A1)

A megadott képlet az A1 cellára vonatkozik. Egyszerűen másolja és illessze be a speciális formátumot az A oszlop egészébe

Forrás
Translate

MEGJEGYZÉS: Érdemes eltávolítania az ismétlődő elemeket (pl. Ugyanazon oszlopban található ismétlődő bejegyzések), mielőtt megtenné ezeket a lépéseket a hamis pozitív adatok megelőzése érdekében.

  1. Jelölje ki mindkét oszlopot
  2. kattintson a Feltételes formázás elemre
  3. kattintson a Cellasejtek kiemelése elemre
  4. Kattintson az Ismétlődő értékek elemre (az alapértelmezett értékeknek rendben kell lenniük)
  5. Az ismétlések most piros színnel vannak kiemelve:

enter image description here

Forrás
Translate

A legegyszerűbb módszer, legalábbis számomra:

Feltételes formátum-> Új szabály hozzáadása-> Saját képlet beállítása:

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

Ahol az A2 az első oszlop az összehasonlítandó oszlopban, és B az az oszlop, ahol A elemét keresni fogjuk.

Miután beállította a képletet és kiválasztotta a formátumot, alkalmazza ezt a szabályt az oszlop összes elemére.

Remélem ez segít

Forrás
Translate

A1 -> feltételes formázás -> a cella értéke B1 -> formátum: amit csak akar

Remélem segít

Forrás
Translate

Tegyük fel, hogy összehasonlítani szeretné az A és a H oszlopot ugyanabban a táblázatban.

Ehhez a 2 oszlop mellé egy másik oszlopot kell beillesztenie, és be kell illesztenie ezt a képletet: = (Sheet1! A: A = Sheet1! H: H) ez HAMIS vagy IGAZ jelenik meg az oszlopban. Tehát ezt az új oszlopot használhatja a nem egyező értékek színezéséhez a feltételes színformázási funkció használatával.

Forrás
Translate

Próbáltam összehasonlítani az AB oszlopokat, és kiemelni az egyenlő szöveget, de az elülső fomrulák felhasználásával néhány szöveg egyáltalán nem egyezett. Szóval űrlapot használtam (VBA makró két oszlop összehasonlításához és a szín kiemeléséhez a cellák közötti különbségek) kódokat, és néhány dolgot módosítottam az alkalmazásomhoz való illesztéshez, és megtaláltam a kívánt oszlopot (csak rákattintva). Esetemben minden oszlopban nagy és különböző számú sort használok. Remélem ez segít:

Al 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

End Sub

Forrás
Translate

Ne akarj olyan sok munkát végezni. Csak nyomd meg a Ctr billentyűt, válaszd a Colum one-t, nyomd meg a Ctr billentyűt, majd válaszd a colum kettőt. Ezután kattintson a feltételes formázás -> Jelölje ki a Cellaszabályok -> Egyenlítés elemet.

és ez az. kész. :)

Forrás
Leave a Reply
You must be logged in to post a answer.
A szerzőről