Kako primerjati vrednosti, ločene z vejico, v dveh celicah in vrniti podvojene ali edinstvene vrednosti v Excelu?
Kot je prikazano na spodnjem posnetku zaslona, sta dva stolpca - Stolpec1 in Stolpec2, vsaka celica v stolpcu vsebuje številke, ločene z vejico. Kaj bi lahko storili, če bi primerjali števila, ločena z vejico, v stolpcu 1 z vsebino celice v isti vrstici stolpca 2 in vrnili vse podvojene ali edinstvene vrednosti?
Ta vadnica ponuja dve metodi, ki vam bosta v pomoč pri izpolnjevanju te naloge.
Primerjajte vrednosti, ločene z vejico, v dveh celicah in s formulami vrnite podvojene ali edinstvene vrednosti
V tem razdelku sta podani dve formuli za pomoč pri primerjavi vrednosti, ločenih z vejico, v dveh celicah in vrnitvi podvojenih ali edinstvenih vrednosti med njima.
Opombe: Naslednje formule delujejo samo v Excel za 365. Če uporabljate druge različice Excela, poskusite uporabiti spodnjo metodo VBA.
Vzemite zgornja dva stolpca kot primer, če želite primerjati številke, ločene z vejico, v stolpcu 1 s številkami, ločenimi z vejico, v isti vrstici stolpca 2 in vrniti podvojene ali edinstvene vrednosti, naredite naslednje.
Vrni podvojene vrednosti
1. Izberite celico za izpis podvojenih števil med dvema določenima celicama s številkami, ločenimi z vejicami, v tem primeru izberem celico D2, nato vnesem spodnjo formulo in pritisnem Vnesite ključ. Izberite celico formule in jo povlecite Ročaj za samodejno izpolnjevanje navzdol, da dobite podvojena števila med celicami v drugih vrsticah.
=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))
Vrne edinstvene vrednosti
Če želite vrniti edinstvene številke med dvema navedenima celicama s številkami, ločenimi z vejicami v isti vrstici, lahko pomaga naslednja formula.
1. Izberite celico za izpis edinstvenih številk, v tem primeru sem izbral celico E2, nato vnesite spodnjo formulo in pritisnite Vnesite ključ. Izberite celico formule in jo povlecite Ročaj za samodejno izpolnjevanje navzdol, da dobite edinstvena števila med celicami v drugih vrsticah.
=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))
Opombe:
Primerjajte dva stolpca z vrednostmi, ločenimi z vejico, in vrnite podvojene ali edinstvene vrednosti z VBA
Uporabniško definirana funkcija v tem razdelku pomaga primerjati vrednosti, ločene z vejico, v dveh določenih celicah in vrne podvojene vrednosti ali edinstvene vrednosti med njima. Prosimo, naredite naslednje.
Vzemite isti primer kot zgoraj, če želite primerjati številke, ločene z vejico, v stolpcu 1 s številkami, ločenimi z vejico, v isti vrstici stolpca 2 in vrniti podvojene ali edinstvene vrednosti, poskusite uporabiti uporabniško definirano funkcijo v tem razdelku.
1. V odprtem delovnem zvezku pritisnite druga + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.
2. V Ljubljani Microsoft Visual Basic za aplikacije okno, kliknite Vstavi > Moduliin kopirajte naslednjo kodo VBA v Modul (koda) okno.
Koda VBA: primerjajte vrednosti, ločene z vejico, v dveh celicah in vrnite podvojene/edinstvene vrednosti
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. Ko prilepite kodo v Modul (koda) okno, pojdite na klik Orodja > Reference da odprete Reference - VBAProject okno, preverite Izvajanje Microsoftovih skriptov polje in nato kliknite OK gumb.
4. Pritisnite druga + Q tipke za zapiranje Microsoft Visual Basic za aplikacije okno.
5. Zdaj morate ločeno uporabiti dve funkciji, da vrnete podvojene in edinstvene vrednosti iz dveh celic vrednosti, ločenih z vejico.
Vrni podvojeno vrednost
Izberite celico za izpis podvojenih številk, v tem primeru sem izbral celico D2, nato vnesite spodnjo formulo in pritisnite Vnesite tipko za pridobitev podvojenih števil med celicama A2 in B2.
Izberite celico s formulo in povlecite njeno ročico za samodejno izpolnjevanje navzdol, da dobite podvojene številke med celicami v drugih vrsticah.
=COMPARE(A2,B2,TRUE)
Vrne edinstvene vrednosti
Izberite celico za izpis edinstvenih številk, v tem primeru izberem celico E2, nato vnesem spodnjo formulo in pritisnem Vnesite tipko za pridobitev edinstvenih števil med celicama A2 in B2.
Izberite celico s formulo in povlecite njeno ročico za samodejno izpolnjevanje navzdol, da dobite edinstvena števila med celicami v drugih vrsticah.
=COMPARE(A2,B2,FALSE)
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!