Hoe door komma's gescheiden waarden in twee cellen te vergelijken en dubbele of unieke waarden in Excel te retourneren?
Zoals te zien is in de onderstaande schermafbeelding, zijn er twee kolommen - Kolom1 en Kolom2, elke cel in de kolom bevat door komma's gescheiden getallen. Wat kunt u doen om de door komma's gescheiden getallen in Kolom1 te vergelijken met de celinhoud in dezelfde rij van Kolom2 en alle dubbele of unieke waarden te retourneren?
Deze zelfstudie biedt twee methoden om u te helpen deze taak te volbrengen.
Vergelijk door komma's gescheiden waarden in twee cellen en retourneer dubbele of unieke waarden met formules
Deze sectie bevat twee formules om de door komma's gescheiden waarden in twee cellen te vergelijken en de dubbele of unieke waarden daartussen te retourneren.
Note: De volgende formules werken alleen in Excel voor 365. Als u andere versies van Excel gebruikt, probeer de onderstaande VBA-methode te gebruiken.
Neem de bovenstaande twee kolommen als voorbeeld, om de door komma's gescheiden getallen in Kolom1 te vergelijken met de door komma's gescheiden getallen in dezelfde rij van Kolom2 en dubbele of unieke waarden te retourneren, gaat u als volgt te werk.
Retourneer dubbele waarden
1. Selecteer een cel om de dubbele getallen uit te voeren tussen de twee gespecificeerde cellen met door komma's gescheiden getallen, in dit geval selecteer ik cel D2, voer vervolgens de onderstaande formule in en druk op de Enter sleutel. Selecteer de formulecel en sleep deze Handvat voor automatisch aanvullen naar beneden om de dubbele getallen tussen cellen in de andere rijen te krijgen.
=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))
Unieke waarden retourneren
Om de unieke getallen tussen de twee opgegeven cellen met door komma's gescheiden getallen in dezelfde rij te retourneren, kan de volgende formule helpen.
1. Selecteer een cel om de unieke nummers uit te voeren, in dit geval selecteer ik cel E2, voer vervolgens de onderstaande formule in en druk op de Enter sleutel. Selecteer de formulecel en sleep deze Handvat voor automatisch aanvullen naar beneden om de unieke nummers tussen cellen in de andere rijen te krijgen.
=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))
Opmerkingen:
Vergelijk twee kolommen met door komma's gescheiden waarden en retourneer dubbele of unieke waarden met VBA
De door de gebruiker gedefinieerde functie in deze sectie helpt bij het vergelijken van de door komma's gescheiden waarden in twee opgegeven cellen en retourneert de dubbele waarden of unieke waarden daartussen. Ga als volgt te werk.
Neem hetzelfde voorbeeld als hierboven, om de door komma's gescheiden getallen in Kolom1 te vergelijken met de door komma's gescheiden getallen in dezelfde rij van Kolom2 en dubbele of unieke waarden te retourneren, probeer de door de gebruiker gedefinieerde functie in deze sectie.
1. Druk in de openingswerkmap op de anders + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. In de Microsoft Visual Basic voor toepassingen venster klikt Invoegen > Moduleen kopieer de volgende VBA-code in het Module (code) venster.
VBA-code: vergelijk door komma's gescheiden waarden in twee cellen en retourneer dubbele/unieke waarden
Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
Dim R1Arr As Variant
Dim R2Arr As Variant
Dim Ans1 As String
Dim Ans2 As String
Dim Separator As String
Dim d1 As New Dictionary
Dim d2 As New Dictionary
Dim d3 As New Dictionary
Application.Volatile
Separator = ", "
R1Arr = Split(Rng1.Value, Separator)
R2Arr = Split(Rng2.Value, Separator)
Ans1 = ""
Ans2 = ""
For Each ch In R2Arr
If Not d2.Exists(ch) Then
d2.Add ch, "1"
End If
Next
If Op Then
For Each ch In R1Arr
If d2.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans1 = Ans1 & ch & Separator
End If
End If
Next
If Ans1 <> "" Then
Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
End If
COMPARE = Ans1
Else
For Each ch In R1Arr
If Not d1.Exists(ch) Then
d1.Add ch, "1"
End If
Next
For Each ch In R1Arr
If Not d2.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans2 = Ans2 & ch & Separator
End If
End If
Next
For Each ch In R2Arr
If Not d1.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans2 = Ans2 & ch & Separator
End If
End If
Next
If Ans2 <> "" Then
Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
End If
COMPARE = Ans2
End If
End Function
3. Na het plakken van de code in het Module (code) venster, ga naar klik Tools > Referenties om de te openen Referenties - VBAProject -venster, controleer het Microsoft Scripting-runtime in en klik op de OK knop.
4. druk de anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster.
5. Nu moet u twee functies afzonderlijk toepassen om de dubbele en unieke waarden uit twee door komma's gescheiden waardecellen te retourneren.
Dubbele waarde retourneren
Selecteer een cel om de dubbele getallen uit te voeren, in dit voorbeeld selecteer ik cel D2, voer vervolgens de onderstaande formule in en druk op Enter sleutel om de dubbele nummers tussen cel A2 en B2 te krijgen.
Selecteer de formulecel en sleep de AutoFill-hendel naar beneden om de dubbele getallen tussen cellen in de andere rijen te krijgen.
=COMPARE(A2,B2,TRUE)
Unieke waarden retourneren
Selecteer een cel om de unieke getallen uit te voeren, in dit voorbeeld selecteer ik cel E2, voer vervolgens de onderstaande formule in en druk op Enter sleutel om de unieke nummers tussen cel A2 en B2 te krijgen.
Selecteer de formulecel en sleep de AutoFill-hendel naar beneden om de unieke nummers tussen cellen in de andere rijen te krijgen.
=COMPARE(A2,B2,FALSE)
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!