Ինչպե՞ս համեմատել ստորակետերով առանձնացված արժեքները երկու բջիջներում և վերադարձնել կրկնօրինակ կամ եզակի արժեքներ Excel-ում:
Ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում, կան երկու սյունակներ՝ Սյունակ 1 և Սյունակ 2, սյունակի յուրաքանչյուր բջիջ պարունակում է ստորակետերով առանձնացված թվեր: Սյունակ 1-ում ստորակետերով առանձնացված թվերը համեմատելու համար 2-րդ սյունակի նույն տողում գտնվող բջիջների բովանդակության հետ և վերադարձնելու բոլոր կրկնօրինակ կամ եզակի արժեքները, ի՞նչ կարող եք անել:
Այս ձեռնարկը տրամադրում է երկու մեթոդ, որոնք կօգնեն ձեզ կատարել այս խնդիրը:
Համեմատեք ստորակետերով առանձնացված արժեքները երկու բջիջներում և վերադարձրեք կրկնօրինակ կամ եզակի արժեքներ բանաձևերով
Այս բաժինը տրամադրում է երկու բանաձև՝ օգնելու համեմատել ստորակետերով առանձնացված արժեքները երկու բջիջներում և վերադարձնել կրկնօրինակ կամ եզակի արժեքները նրանց միջև:
ՆշումՀետևյալ բանաձևերը գործում են միայն Excel 365-ի համար. Եթե օգտագործում եք Excel-ի այլ տարբերակներ, փորձեք օգտագործել ստորև ներկայացված VBA մեթոդը.
Վերցրեք վերը նշված երկու սյունակները որպես օրինակ, սյունակ 1-ում ստորակետերով առանձնացված թվերը համեմատելու համար սյունակ 2-ի նույն շարքում ստորակետերով առանձնացված թվերի հետ և վերադարձրեք կրկնօրինակ կամ եզակի արժեքներ, խնդրում ենք անել հետևյալը:
Վերադարձրեք կրկնօրինակ արժեքները
1. Ընտրեք բջիջ՝ նշված երկու բջիջների միջև ստորակետերով առանձնացված թվերով կրկնօրինակ թվերը դուրս բերելու համար, այս դեպքում ես ընտրում եմ D2 բջիջը, այնուհետև մուտքագրում եմ ստորև բերված բանաձևը և սեղմում Մտնել բանալի. Ընտրեք բանաձևի բջիջը և քաշեք այն Ավտոմատ լրացման բռնակ ներքեւ՝ մյուս տողերի բջիջների միջև կրկնվող թվերը ստանալու համար:
=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))
Վերադարձեք եզակի արժեքներ
Նույն տողում ստորակետերով բաժանված երկու բջիջների միջև եզակի թվերը վերադարձնելու համար կարող է օգնել հետևյալ բանաձևը.
1. Ընտրեք բջիջ՝ եզակի թվերը դուրս բերելու համար, այս դեպքում ես ընտրում եմ E2 բջիջը, այնուհետև մուտքագրում եմ ստորև բերված բանաձևը և սեղմում Մտնել բանալի. Ընտրեք բանաձևի բջիջը և քաշեք այն Ավտոմատ լրացման բռնակ ներքեւ՝ մյուս տողերի բջիջների միջև եզակի թվերը ստանալու համար:
=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))
Notes:
Համեմատեք երկու սյունակները ստորակետերով առանձնացված արժեքներով և վերադարձրեք կրկնօրինակ կամ եզակի արժեքներ VBA-ով
Օգտատիրոջ կողմից սահմանված գործառույթը, որը տրված է այս բաժնում, օգնում է համեմատել ստորակետերով առանձնացված արժեքները երկու նշված բջիջներում և վերադարձնել կրկնօրինակ արժեքները կամ եզակի արժեքները նրանց միջև: Խնդրում ենք անել հետևյալը.
Վերցրեք նույն օրինակը, ինչ վերևում, սյունակ 1-ում ստորակետերով առանձնացված թվերը համեմատելու համար սյունակ 2-ի նույն շարքում ստորակետերով առանձնացված թվերի հետ և կրկնօրինակ կամ եզակի արժեքներ վերադարձնելու համար, խնդրում ենք փորձել այս բաժնում օգտագործողի կողմից սահմանված գործառույթը:
1. Բացման աշխատանքային գրքում սեղմեք կոճակը ալտ + F11 բացել ստեղները Microsoft Visual Basic հավելվածների համար պատուհան.
2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլներև պատճենեք հետևյալ VBA կոդը մեջ Մոդուլ (կոդ) պատուհան.
VBA կոդ. Համեմատեք ստորակետերով առանձնացված արժեքները երկու բջիջներում և վերադարձրեք կրկնօրինակ/եզակի արժեքներ
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. Կոդը կպցնելուց հետո Մոդուլ (կոդ) պատուհան, անցեք սեղմելու համար Գործիքներ > Սայլակ բացելու համար Հղումներ - VBAP նախագիծ պատուհանը, ստուգեք Microsoft Scripting Runtime տուփը եւ սեղմեք այն OK կոճակը:
4. Սեղմեք ալտ + Q ստեղները փակելու համար Microsoft Visual Basic հավելվածների համար պատուհան.
5. Այժմ դուք պետք է առանձին կիրառեք երկու գործառույթ՝ երկու ստորակետերով առանձնացված արժեքային բջիջներից կրկնօրինակ և եզակի արժեքները վերադարձնելու համար:
Վերադարձրեք կրկնօրինակ արժեքը
Ընտրեք բջիջ՝ կրկնօրինակ թվերը դուրս բերելու համար, այս օրինակում ես ընտրում եմ D2 բջիջը, այնուհետև մուտքագրում եմ ստորև բերված բանաձևը և սեղմում Մտնել բանալին՝ A2 և B2 բջիջների միջև կրկնվող թվերը ստանալու համար:
Ընտրեք բանաձևի բջիջը և քաշեք դրա Ինքնալրացման կարգավորիչը՝ մյուս տողերի բջիջների միջև կրկնօրինակ թվերը ստանալու համար:
=COMPARE(A2,B2,TRUE)
Վերադարձեք եզակի արժեքներ
Ընտրեք բջիջ՝ եզակի թվերը դուրս բերելու համար, այս օրինակում ես ընտրում եմ E2 բջիջը, այնուհետև մուտքագրում եմ ստորև բերված բանաձևը և սեղմում Մտնել բանալին՝ A2 և B2 բջիջների միջև եզակի թվեր ստանալու համար:
Ընտրեք բանաձևի բջիջը և քաշեք դրա Ինքնալրացման կարգավորիչը՝ մյուս տողերի բջիջների միջև եզակի թվերը ստանալու համար:
=COMPARE(A2,B2,FALSE)
Գրասենյակի արտադրողականության լավագույն գործիքները
Լրացրեք ձեր Excel-ի հմտությունները Kutools-ի հետ Excel-ի համար և փորձեք արդյունավետությունը, ինչպես երբեք: Kutools-ը Excel-ի համար առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար: Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...
Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք
- Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
- Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
- Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր: