Բաց թողնել հիմնական բովանդակությունը

Ինչպե՞ս հեշտությամբ միավորել տեքստը ՝ հիմնված Excel- ի չափանիշների վրա:

Ենթադրելով, որ ես ունեմ նույնականացման համարների սյուն, որը պարունակում է մի քանի կրկնօրինակ և անունների սյուն, և այժմ ուզում եմ միավորել անունները ՝ հիմնվելով եզակի նույնականացման համարների վրա, ինչպես ցույց է տրված ձախ սքրինշոթը, արագորեն համադրելով տեքստը ՝ ելնելով չափանիշներից, ինչպե՞ս կարող ենք անել Excel- ում

doc միավորել տեքստը ՝ հիմնվելով 1 չափանիշների վրա

Տեքստը չափանիշների հիման վրա միացրեք օգտագործողի կողմից սահմանված գործառույթին

Excel- ի համար Kutools- ի հետ միաձուլեք տեքստը `հիմնված չափանիշների վրա


Տեքստը եզակի նույնականացման համարների հետ համատեղելու համար նախ կարող եք արդյունահանել եզակի արժեքները, այնուհետև ստեղծել օգտագործողի կողմից սահմանված գործառույթ `եզակի ID- ի հիման վրա անունները համատեղելու համար:

1, Որպես օրինակ վերցրեք հետևյալ տվյալները. Նախ պետք է հանեք եզակի նույնականացման համարները, օգտագործեք այս զանգվածի բանաձևը. =IFERROR(INDEX($A$2:$A$15, MATCH(0,COUNTIF($D$1:D1, $A$2:$A$15), 0)),""), Մուտքագրեք այս բանաձևը դատարկ բջիջ, օրինակ `D2, ապա սեղմեք Ctrl + Shift + Մուտք ստեղները միասին, տես նկարի նկարը.

doc միավորել տեքստը ՝ հիմնվելով 2 չափանիշների վրա

ԱկնարկՎերոհիշյալ բանաձևում A2: A15 տվյալների ցուցակի տիրույթն է, որտեղից ցանկանում եք արդյունահանել եզակի արժեքներ, D1 սյունակի առաջին բջիջն է, որը ցանկանում եք դուրս բերել արդյունահանման արդյունքը:

2, Եվ այնուհետև քաշեք լրացման բռնիչը ներքև ՝ բոլոր եզակի արժեքները հանելու համար մինչև պահոցները ցուցադրվեն, տես նկարի նկարը.

doc միավորել տեքստը ՝ հիմնվելով 3 չափանիշների վրա

3, Այս քայլում դուք պետք է ստեղծեք ա Օգտագործողի սահմանած գործառույթը անունները միավորելու համար `հիմնվելով եզակի նույնականացման համարների վրա, պահեք կոճակը ALT + F11 ստեղները, և այն բացում է Microsoft Visual Basic հավելվածների համար պատուհան.

4: Սեղմեք Տեղադրել > Մոդուլներ, և տեղադրեք հետևյալ կոդը Մոդուլներ Պատուհանը:

VBA կոդ. Չափորոշիչների հիման վրա համակցված տեքստ

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If
For i = 1 To CriteriaRange.Count
    If CriteriaRange.Cells(i).Value = Condition Then
        xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
    End If
Next i
If xResult <> "" Then
    xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function

5. Ապա պահեք և փակեք այս կոդը, վերադառնաք ձեր աշխատաթերթ և մուտքագրեք այս բանաձևը E2 բջիջում, = CONCATENATEIF ($ A $ 2: $ A $ 15, D2, $ B $ 2: $ B $ 15, ",") , տես նկարի նկարը.

doc միավորել տեքստը ՝ հիմնվելով 4 չափանիշների վրա

6, Դրանից հետո քաշեք լրացման բռնակը ներքև դեպի այն բջիջները, որոնք ցանկանում եք կիրառել այս բանաձևը, և ​​բոլոր համապատասխան անունները միավորվել են ՝ ելնելով ID համարներից, տե՛ս նկարը.

doc միավորել տեքստը ՝ հիմնվելով 5 չափանիշների վրա

Հուշում.

1. Վերոնշյալ բանաձևում A2: A15 բնօրինակ տվյալներն են, որոնց հիման վրա ցանկանում եք համադրել, D2 ձեր հանած եզակի արժեքն է, և B2: B15 անուն սյունն է, որը ցանկանում եք համատեղել միասին:

2. Ինչպես տեսնում եք, ես միավորեցի այն արժեքները, որոնք բաժանված են ստորակետով, դուք կարող եք օգտագործել ցանկացած այլ նիշ ՝ փոխելով «,» բանաձևի ստորակետը, որքան ձեզ հարկավոր է:


Եթե ​​դուք ունեք Excel- ի համար նախատեսված գործիքներԻր Ընդլայնված կոմբինատ տողեր օգտակար, դուք կարող եք արագ և հարմար կերպով չափել տեքստի հիմքը:

Excel- ի համար նախատեսված գործիքներ : ավելի քան 300 հարմար Excel հավելվածներով, 30 օրվա ընթացքում առանց սահմանափակումների փորձեք անվճար.

Տեղադրելուց հետո Excel- ի համար նախատեսված գործիքներ, արեք հետևյալ քայլերը.

1, Ընտրեք տվյալների տիրույթը, որը ցանկանում եք համատեղել մեկ սյունակի հիման վրա:

2: Սեղմեք Կուտոլս > Միաձուլում և պառակտում > Ընդլայնված կոմբինատ տողեր, տես նկարի նկարը.

3, Մեջ Միավորել շարքերը ՝ հիմնվելով սյունակի վրա երկխոսության տուփ, կտտացրեք ID սյունակին և այնուհետև կտտացրեք Առաջնային բանալին այս սյունը որպես հիմնական սյունակ դարձնելու համար, որի վրա հիմնված են ձեր համակցված տվյալները, տես նկարի նկարը.

doc միավորել տեքստը ՝ հիմնվելով 7 չափանիշների վրա

4. Եվ այնուհետեւ կտտացրեք Անուն սյունակը, որը ցանկանում եք միավորել արժեքները, ապա կտտացրեք Միավորել տարբերակը և համակցված տվյալների համար ընտրեք մեկ տարանջատիչ, տես նկարի նկարը.

doc միավորել տեքստը ՝ հիմնվելով 8 չափանիշների վրա

5, Այս պարամետրերն ավարտելուց հետո կտտացրեք OK երկխոսությունից դուրս գալու համար, և B սյունակի տվյալները միավորվել են `հիմնվելով բանալին A սյունակի վրա: Տեսեք,

doc միավորել տեքստը ՝ հիմնվելով 9 չափանիշների վրա

Այս հատկության շնորհիվ հետևյալ խնդիրը կլուծվի հնարավորինս շուտ.

Ինչպե՞ս համատեղել բազմաթիվ տողերը մեկում և գումարել կրկնօրինակները Excel- ում:

Ներբեռնեք և անվճար փորձեք Kutools- ը Excel- ի համար:


Excel- ի համար նախատեսված գործիքներ. Excel- ի ավելի քան 300 հարմարավետ հավելումներով, 30 օրվա ընթացքում անվճար փորձեք առանց սահմանափակումների: Ներբեռնեք և անվճար փորձեք հիմա:

Գրասենյակի արտադրողականության լավագույն գործիքները

🤖 Kutools AI օգնականՀեղափոխություն կատարել տվյալների վերլուծության հիման վրա՝ Խելացի կատարում   |  Ստեղծեք ծածկագիր  |  Ստեղծեք հատուկ բանաձևեր  |  Վերլուծել տվյալները և ստեղծել գծապատկերներ  |  Invoke Kutools-ի գործառույթները...
Հանրաճանաչ հատկություններ: Գտեք, ընդգծեք կամ նույնականացրեք կրկնօրինակները   |  Deleteնջել դատարկ շարքերը   |  Միավորել սյունակները կամ բջիջները՝ առանց տվյալների կորստի   |   Կլոր առանց բանաձևի ...
Super Փնտրել: Բազմաթիվ չափանիշների VLookup    Բազմակի արժեք VLookup  |   VLookup բազմաթիվ թերթերում   |   Fuzzy Փնտրել ....
Ընդլայնված բացվող ցուցակ: Արագ ստեղծեք բացվող ցուցակը   |  Կախված բացվող ցուցակ   |  Բազմակի ընտրություն Drop Down ցուցակ ....
Սյունակի կառավարիչ: Ավելացրեք որոշակի քանակությամբ սյունակներ  |  Տեղափոխել սյունակները  |  Փոխարկել թաքնված սյունակների տեսանելիության կարգավիճակը  |  Համեմատեք միջակայքերը և սյունակները ...
Առանձնահատկություններ: Ցանցի կենտրոնացում   |  Դիզայնի տեսք   |   Մեծ Formula Bar    Աշխատանքային գրքույկի և թերթիկների կառավարիչ   |  Ռեսուրսների գրադարան (Ավտոմատ տեքստ)   |  Ամսաթիվ ընտրող   |  Միավորել աշխատանքային թերթերը   |  Գաղտնագրել/գաղտնազերծել բջիջները    Ուղարկեք նամակներ ըստ ցանկի   |  Սուպեր զտիչ   |   Հատուկ զտիչ (զտել թավ/շեղ/շեղված...) ...
Լավագույն 15 գործիքների հավաքածու12 Տեքստ Գործիքներ (Ավելացրեք տեքստ, Հեռացնել նիշերը, ...)   |   50+ Աղյուսակ Տեսակներ (Գանտի աղյուսակը, ...)   |   40+ Գործնական Բանաձեւեր (Հաշվարկել տարիքը ՝ ելնելով ծննդյան տարեդարձից, ...)   |   19 միացում Գործիքներ (Տեղադրեք QR կոդ, Տեղադրեք նկար ուղուց, ...)   |   12 Փոխարկում Գործիքներ (Բառեր համարներ, Արտարժույթի փոխակերպումը, ...)   |   7 Միաձուլում և պառակտում Գործիքներ (Ընդլայնված կոմբինատ տողեր, Պառակտված բջիջներ, ...)   |   ... եւ ավելին

Լրացրեք ձեր Excel-ի հմտությունները Kutools-ի հետ Excel-ի համար և փորձեք արդյունավետությունը, ինչպես երբեք: Kutools-ը Excel-ի համար առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար:  Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...

Նկարագրություն


Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
Comments (38)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Great function! Is there a way to maintain the format in the cell it's concatenating data from? i.e. $45.07, $555.34, $0.00, $0.25, -$12.25 I've figured out how to stack them with wrap text and CHAR(10) in place of "," but having trouble keeping the format. I will be using this for a mail merge in Word.
This comment was minimized by the moderator on the site
Hello, Laurie,If you want to keep the cell formatting when concatenating the data, you can apply the Advanced Combine Rows feature of Kutools for Excel, in the dialog box, after finishing the settings, you just need to check Use formatted values option, and all the data formatting will be kept as you need.
You can download Kutools for Excel and free trial 30-day.
This comment was minimized by the moderator on the site
Is there any way to add "and" instead of "," before the last data? (For example: D2355, D2273, D2397, D2600 and D2386)
This comment was minimized by the moderator on the site
Hi, Hossain,May be there is not a direct method for solving your problem, you can add another formula to convert the last comma to the text "and".=SUBSTITUTE(E2,","," and ",LEN(E2)-LEN(SUBSTITUTE(E2,",","")))
Please try, thank you!
This comment was minimized by the moderator on the site
It worked like a charm sir. Thank you so much.
This comment was minimized by the moderator on the site
Great function, exactly what I needed! Works like a charm
This comment was minimized by the moderator on the site
Hi,

Very helpful VBA solution. Thank you kindly! My question is: Is there a way to change the code or function for multiple criteria? Although the code works for me, I need it to show values corresponding to a timestamp-interval (>= timestamp A, <= timestamp B)


Thank you in advance. :)
This comment was minimized by the moderator on the site
Is there a way to assign this to a button? On large data ranges it takes a while, so ideally I only want it to start the concatenate process once I've finished doing everything else in the sheet. I tried adding a trigger myself but it stopped working completely
This comment was minimized by the moderator on the site
BTW i used the VBA solution
This comment was minimized by the moderator on the site
Extremely helpfull! After editing it for my sheet i have #VALUE! for some of the unique values.
I did a countif to see if it could be that there are too many names to concatenate. The two unique values that have the #VALUE! error have 13635 and 19810 results. Is there a way to overcome this?
This comment was minimized by the moderator on the site
How can I ignore blank cells? mine currently displays this:

";;;;;;;;;"

I'd like for the 1st, 3rd and last 3 semi colons not to there/show. TIA
This comment was minimized by the moderator on the site
Hello, Chantelle
When concatenating the cell values ignoring the blank cells, please apply the below User Defined Function:

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
ConcatenateIf = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To CriteriaRange.Count
If CriteriaRange.Cells(i).Value = Condition Then
If ConcatenateRange.Cells(i).Value <> "" Then
xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
End If
End If
Next i
If xResult <> "" Then
xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function

Please try it, hope it can help you!
This comment was minimized by the moderator on the site
thank you very much! This was so simple and helped a lot!!
This comment was minimized by the moderator on the site
Is it possible to replace the comma splitter with a line break, i.e. char(10)? Many thanks.
This comment was minimized by the moderator on the site
Hello, David,

To combine the cells with line break, the following User Defined Function may help you.

Function ConcatenateIf_LineBreak(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
ConcatenateIf = CVErr(xlErrRef)
Exit Function
End If
For I = 1 To CriteriaRange.Count
If CriteriaRange.Cells(I).Value = Condition Then
xResult = xResult & vbCrLf & ConcatenateRange.Cells(I).Value
End If
Next I
If xResult <> "" Then
xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf_LineBreak = xResult
Exit Function
End Function

After pasting this code, then apply this formula: =ConcatenateIf_LineBreak(A2:A13,F2,B2:B13,",").

After getting the results with this formula, you should click the Wrap Text to get the correct results you need.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations