Hur sammanfogar man enkelt text baserat på kriterier i Excel?
Antag att jag har en kolumn med ID-nummer som innehåller några dubbletter och en kolumn med namn, och nu vill jag sammanfoga namnen baserat på de unika ID-numren som vänster skärmdump visas för att snabbt kombinera texten baserat på kriterier, hur skulle vi kunna gör i Excel?
Sammankoppla text baserat på kriterier med användardefinierad funktion
Sammankoppla text baserat på kriterier med Kutools för Excel
Sammankoppla text baserat på kriterier med användardefinierad funktion
För att kombinera text med unika ID-nummer kan du extrahera unika värden först och sedan skapa en användardefinierad funktion för att kombinera namnen baserat på det unika ID: t.
1. Ta följande data som exempel, du måste först extrahera de unika ID-numren, använd denna matrisformel: =IFERROR(INDEX($A$2:$A$15, MATCH(0,COUNTIF($D$1:D1, $A$2:$A$15), 0)),"")Skriv in denna formel i en tom cell, till exempel D2, och tryck sedan på Ctrl + Skift + Enter knappar tillsammans, se skärmdump:
Tips: I ovanstående formel, A2: A15 är listdataområdet som du vill extrahera unika värden från, D1 är den första cellen i kolumnen du vill lägga ut extraheringsresultatet.
2. Och dra sedan ned fyllningshandtaget för att extrahera alla unika värden tills tomrummen visas, se skärmdump:
3. I det här steget bör du skapa en Användardefinierad funktion För att kombinera namnen baserat på de unika ID-numren, håll ned ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationer fönster.
4. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.
VBA-kod: sammanfoga text baserat på kriterier
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. Spara och stäng sedan den här koden, gå tillbaka till ditt kalkylblad och ange denna formel i cell E2, = CONCATENATEIF ($ A $ 2: $ A $ 15, D2, $ B $ 2: $ B $ 15, ",") , se skärmdump:
6. Dra sedan fyllningshandtaget ner till cellerna som du vill använda denna formel, och alla motsvarande namn har kombinerats baserat på ID-numren, se skärmdump:
Tips:
1. I ovanstående formel, A2: A15 är den ursprungliga informationen som du vill kombinera baserat på, D2 är det unika värde du har extraherat, och B2: B15 är namnskolumnen som du vill kombinera tillsammans.
2. Som du kan se, kombinerade jag de värden som är separerade med komma, du kan använda alla andra tecken genom att ändra kommatecken "," för formeln efter behov.
Sammankoppla text baserat på kriterier med Kutools för Excel
Om du har Kutools för Excel, med dess Avancerade kombinera rader verktyget kan du snabbt och bekvämt sammanfoga textbasen efter kriterier.
Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. |
När du har installerat Kutools för Excel, gör så här:
1. Välj det dataintervall som du vill kombinera baserat på en kolumn.
2. Klicka Kutools > Slå ihop och dela > Avancerade kombinera rader, se skärmdump:
3. I Kombinera rader baserat på kolumn dialogrutan, klicka på ID-kolumnen och klicka sedan på Primärnyckel för att göra den här kolumnen som nyckelkolumnen som din kombinerade data baseras på, se skärmdump:
4. Och klicka sedan på Namn kolumn där du vill kombinera värdena och klicka sedan på Kombinera alternativ och välj en separator för den kombinerade data, se skärmdump:
5. När du har avslutat dessa inställningar klickar du på OK för att avsluta dialogen och data i kolumn B har kombinerats baserat på nyckelkolumnen A. Se skärmdump:
Med den här funktionen kommer följande problem att lösas så snart som möjligt:
Hur kombinerar jag flera rader till en och summerar dubbletter i Excel?
Ladda ner och testa gratis Kutools för Excel nu!
Demo: Sammankoppla text baserat på samma cell i en annan kolumn med Kutools för Excel
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!