Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako enostavno združiti besedilo na podlagi meril v Excelu?

Predpostavljam, da imam stolpec ID številk, ki vsebuje nekaj dvojnikov in stolpca imen, zdaj pa želim združiti imena na podlagi edinstvenih ID-številk, kot je prikazano levo, da hitro združimo besedilo na podlagi meril, kako bi lahko storite v Excelu?

doc združuje besedilo na podlagi meril 1

Prikrito besedilo temelji na merilih z uporabniško določeno funkcijo

Približajte besedilo na podlagi kriterijev z Kutools za Excel


Prikroži besedilo, ki temelji na isti vrednosti v drugem stolpcu:

z Kutools za ExcelJe Napredne kombinacije vrst uporabno, lahko hitro združite več podvojenih vrstic v en zapis na podlagi stolpcev ključnih besed in za druge stolpce lahko uporabijo tudi nekatere izračune, kot so vsota, povprečje, štetje itd.

  • 1. Določite stolpec s ključi, na katerega želite združiti drug stolpec na podlagi;
  • 2. Izberite ločilo za vaše kombinirane podatke.

doc združuje besedilo na podlagi meril 10

Kutools za Excel: z več kot 200 priročnimi dodatki Excel, lahko brezplačno poskusite brez omejitev v dnevih 60. Prenesite in brezplačno preizkusite zdaj!



Če želite kombinirati besedilo z edinstvenimi identifikacijskimi številkami, lahko najprej pridobite edinstvene vrednosti in nato ustvarite funkcijo, ki jo določa uporabnik, za združevanje imen na podlagi edinstvenega ID-ja.

1. Za primer vzemite naslednje podatke, najprej morate najprej izvleči enolične ID številke, prosimo, uporabite to formulo: =IFERROR(INDEX($A$2:$A$15, MATCH(0,COUNTIF($D$1:D1, $A$2:$A$15), 0)),""), Vnesite to formulo v prazno celico, na primer D2, nato pritisnite Ctrl + Shift + Enter skupaj, glejte sliko zaslona:

doc združuje besedilo na podlagi meril 2

Nasvet: V zgornji formuli, A2: A15 je obseg podatkov o seznamu, ki ga želite izvleči iz posameznih vrednosti, D1 je prva celica stolpca, v kateri želite izločiti rezultat pridobivanja.

2. In nato povlecite ročico za polnjenje navzdol, da izvlečete vse edinstvene vrednosti, dokler niso prikazane prazne oznake, glejte sliko zaslona

doc združuje besedilo na podlagi meril 3

3. V tem koraku morate ustvariti Uporabniško določeno funkcijo če želite združiti imena, ki temeljijo na edinstvenih identifikacijskih številkah, držite tipko ALT + F11 tipke in odpre Microsoft Visual Basic za aplikacije okno.

4. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Moduli Okno.

VBA koda: prikrito besedilo na podlagi meril

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Update 20150414
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. Nato shranite in zaprite to kodo, pojdite nazaj na vaš delovni list in vnesite to formulo v celico E2, = CONCATENATEIF ($ A $ 2: $ A $ 15, D2, $ B $ 2: $ B $ 15, ",") , si oglejte sliko zaslona:

doc združuje besedilo na podlagi meril 4

6. Potem povlecite ročico za polnjenje navzdol v celice, za katere želite uporabiti to formulo, in vsa ustrezna imena so bila združena glede na številke ID-jev, si oglejte sliko zaslona:

doc združuje besedilo na podlagi meril 5

Nasvet:

1. V zgornji formuli, A2: A15 so izvirni podatki, ki jih želite kombinirati na podlagi, D2 je edinstvena vrednost, ki ste jo pridobili, in B2: B15 je stolpec z imenom, ki ga želite združiti skupaj.

2. Kot lahko vidite, sem kombiniral vrednosti, ki so ločene z vejico, lahko uporabite katere koli druge znake, tako da spremenite vejico »,« s formulo, kot jo potrebujete.


Če imate Kutools za Excel, Z njegovim Napredne kombinacije vrst uporabnost, lahko hitro in priročno združite besedilno bazo na merila.

Kutools za Excel : z več kot 300 priročnimi dodatki Excel, lahko brezplačno poskusite brez omejitev v dnevih 60.

Po namestitvi Kutools za Excelnaredite naslednje korake:

1. Izberite obseg podatkov, ki ga želite združiti na podlagi enega stolpca.

2. Kliknite Kutools > vsebina > Napredne kombinacije vrst, si oglejte sliko zaslona:

doc združuje besedilo na podlagi meril 6 6

3. v Združite vrstice na podlagi stolpca v pogovornem oknu kliknite stolpec ID in nato kliknite Primarni ključ Če želite ta stolpec kot ključni stolpec, na katerem temeljijo združeni podatki, si oglejte sliko zaslona:

doc združuje besedilo na podlagi meril 7

4. In nato kliknite Imenu stolpec, v katerega želite kombinirati vrednosti, nato kliknite Združite možnost in izberite enega ločila za združene podatke, glejte sliko zaslona:

doc združuje besedilo na podlagi meril 8

5. Ko končate te nastavitve, kliknite OK za izhod iz pogovornega okna in podatki v stolpcu B so bili združeni skupaj na stolpcu A ključa. Oglejte si posnetek zaslona:

doc združuje besedilo na podlagi meril 9

Če želite izvedeti več podrobnosti o tej kombinaciji vrst na podlagi funkcije stolpca.

S to funkcijo bo naslednji problem rešen čim prej:

Kako kombinirati več vrstic v eno in povzemati dvojnike v Excelu?

Prenesite in brezplačno preizkusite Kutools za Excel zdaj!


Kutools za Excel: z več kot 200 priročnimi dodatki Excel, lahko brezplačno poskusite brez omejitev v dnevih 60. Prenesite in brezplačno preizkusite zdaj!


Priporočena orodja za produktivnost za Excel

zavihek kte 201905

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pete · 3 months ago
    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
  • To post as a guest, your comment is unpublished.
    Merijn · 3 months ago
    BTW i used the VBA solution
  • To post as a guest, your comment is unpublished.
    Merijn · 3 months ago
    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?
  • To post as a guest, your comment is unpublished.
    Chantelle · 4 months ago
    How can I ignore blank cells? mine currently displays this:

    ";2503201111@msg.telus.com;;2503202222@msg.telus.com;2508193333@msg.telus.com;2503714444@msg.telus.com;;;;"

    I'd like for the 1st, 3rd and last 3 semi colons not to there/show. TIA
    • To post as a guest, your comment is unpublished.
      skyyang · 4 months ago
      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!
  • To post as a guest, your comment is unpublished.
    victor · 6 months ago
    thank you very much! This was so simple and helped a lot!!