Skip to main content

Conas téacs a chomhtháthú go héasca bunaithe ar chritéir in Excel?

Má cheapaim go bhfuil colún d’uimhreacha aitheantais agam ina bhfuil roinnt dúbailtí agus colún ainmneacha, agus anois, ba mhaith liom na hainmneacha a thabhairt le chéile bunaithe ar na huimhreacha aitheantais uathúla mar a thaispeántar ar chlé, chun an téacs a chomhcheangal go tapa bunaithe ar chritéir, conas a d’fhéadfaimis a dhéanamh in Excel?

doc téacs a chur le chéile bunaithe ar chritéir 1

Téacs concatenate bunaithe ar chritéir le Feidhm Sainithe ag Úsáideoir

Téacs concatenate bunaithe ar chritéir le Kutools for Excel


Chun téacs a chomhcheangal leis na huimhreacha aitheantais uathúla, is féidir leat na luachanna uathúla a bhaint ar dtús agus ansin Feidhm Sainmhínithe ag Úsáideoir a chruthú chun na hainmneacha atá bunaithe ar an ID uathúil a chur le chéile.

1. Tóg na sonraí seo a leanas mar shampla, ní mór duit na huimhreacha aitheantais uathúla a bhaint ar dtús, cuir an fhoirmle eagar seo i bhfeidhm le do thoil: =IFERROR(INDEX($A$2:$A$15, MATCH(0,COUNTIF($D$1:D1, $A$2:$A$15), 0)),""), Cuir an fhoirmle seo isteach i gcill bhán, D2 mar shampla, ansin brúigh Ctrl + Shift + Iontráil eochracha le chéile, féach an scáileán:

doc téacs a chur le chéile bunaithe ar chritéir 2

Leid: San fhoirmle thuas, A2: A15 an bhfuil an raon sonraí liosta ar mhaith leat luachanna uathúla a bhaint as, D1 Is é an chéad chill den cholún is mian leat an toradh eastósctha a chur amach.

2. Agus ansin tarraing an láimhseáil líonta síos chun na luachanna uathúla uile a bhaint go dtí go dtaispeántar bearnaí, féach an scáileán:

doc téacs a chur le chéile bunaithe ar chritéir 3

3. Sa chéim seo, ba cheart duit a Feidhm Sainithe ag an Úsáideoir chun na hainmneacha a chomhcheangal bunaithe ar na huimhreacha aitheantais uathúla, coinnigh síos an ALT + F11 eochracha, agus osclaíonn sé an Microsoft Visual Basic d’Fheidhmchláir fhuinneog.

4. Cliceáil Ionsáigh > Modúil, agus greamaigh an cód seo a leanas sa Modúil Fuinneog.

Cód VBA: téacs comhthráthach bunaithe ar chritéir

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. Ansin sábháil agus dún an cód seo, téigh ar ais chuig do bhileog oibre, agus cuir an fhoirmle seo isteach i gcill E2, = CONCATENATEIF ($ A $ 2: $ A $ 15, D2, $ B $ 2: $ B $ 15, ",") , féach ar an scáileán:

doc téacs a chur le chéile bunaithe ar chritéir 4

6. Ansin tarraing an láimhseáil líonta síos go dtí na cealla a theastaíonn uait an fhoirmle seo a chur i bhfeidhm, agus cuireadh na hainmneacha comhfhreagracha uile le chéile bunaithe ar na huimhreacha aitheantais, féach an scáileán:

doc téacs a chur le chéile bunaithe ar chritéir 5

Leid:

1. San fhoirmle thuas, A2: A15 an bhfuil na sonraí bunaidh ar mhaith leat a chur le chéile bunaithe ar, D2 an luach uathúil atá bainte agat, agus B2: B15 an colún ainm is mian leat a chur le chéile.

2. Mar a fheiceann tú, chomhcheangail mé na luachanna atá scartha le camóg, is féidir leat carachtair ar bith eile a úsáid trí chamóg “,” na foirmle a athrú de réir mar is gá duit.


Má tá tú Kutools le haghaidh Excel, Lena Sraitheanna Comhcheangail Casta áirgiúlacht, is féidir leat bunús an téacs ar chritéir a chur i gcrích go tapa agus go caothúil.

Kutools le haghaidh Excel : le níos mó ná 300 breiseán áisiúil Excel, saor in aisce le triail gan aon teorannú i 30 lá.

Tar éis a shuiteáil Kutools le haghaidh Excel, déan mar a leanas céimeanna:

1. Roghnaigh an raon sonraí a theastaíonn uait a chur le chéile bunaithe ar cholún amháin.

2. Cliceáil Kutools > Cumaisc & Scoilt > Sraitheanna Comhcheangail Casta, féach ar an scáileán:

3. Sa an Comhcheangail Sraitheanna Bunaithe ar an gColún bosca dialóige, cliceáil an colún Aitheantais agus ansin cliceáil Eochair Bhunscoile chun an colún seo a dhéanamh mar an príomhcholún ar a bhfuil do chuid sonraí comhcheangailte bunaithe, féach an scáileán:

doc téacs a chur le chéile bunaithe ar chritéir 7

4. Agus ansin cliceáil Ainm colún ar mhaith leat na luachanna a chomhcheangal, ansin cliceáil Chomhcheangail rogha, agus roghnaigh deighilteoir amháin do na sonraí comhcheangailte, féach an scáileán:

doc téacs a chur le chéile bunaithe ar chritéir 8

5. Tar éis na socruithe seo a chríochnú, cliceáil OK chun an dialóg a fhágáil, agus tá na sonraí i gcolún B curtha le chéile bunaithe ar eochaircholún A. Féach an pictiúr:

doc téacs a chur le chéile bunaithe ar chritéir 9

Leis an ngné seo, réiteofar an fhadhb seo a leanas a luaithe is féidir:

Conas sraitheanna iolracha a chomhcheangal i gceann dúblach agus suim in Excel?

Íoslódáil agus triail saor in aisce Kutools le haghaidh Excel Now!


Kutools le haghaidh Excel: le níos mó ná 300 breiseán áisiúil Excel, saor in aisce le triail gan aon teorannú i 30 lá. Íoslódáil agus triail saor in aisce Anois!

Uirlisí Táirgiúlachta Oifige is Fearr

🤖 Kutools AI Aide: anailís sonraí a réabhlóidiú bunaithe ar: Forghníomhú Chliste   |  Gin Cód  |  Cruthaigh Foirmlí Saincheaptha  |  Anailís a dhéanamh ar Sonraí agus Cairteacha a Ghin  |  Feidhmeanna Kutools a agairt...
Gnéithe Coitianta: Faigh, Aibhsigh nó Aithnigh Dúblaigh   |  Scrios Sraitheanna Bána   |  Comhcheangail Colúin nó Cealla gan Sonraí a Chailleadh   |   Babhta gan Foirmle ...
Cuardaigh Super: Ilchritéir VLookup    VLookup Illuachanna  |   VLookup Trasna Ilbhileoga   |   Amharc doiléir ....
Liosta anuas Casta: Go tapa Cruthaigh Liosta Anuas   |  Liosta anuas Cleithiúnach   |  Liosta Buail Isteach Ilroghnacha ....
Bainisteoir Colún: Cuir Líon Sonrach Colún leis  |  Colúin Bog  |  Scoránaigh Stádas Infheictheachta na gColún Ceilte  |  Déan comparáid idir Raonta & Colúin ...
Gnéithe Réadmhaoin: Fócas Eangaí   |  Amharc Dearaidh   |   Barra Mór na Foirmle    Leabhar Oibre & Bainisteoir Bileog   |  Leabharlann Acmhainní (Uaththéacs)   |  Piocálaí Dáta   |  Comhcheangail Bileoga Oibre   |  Criptigh/Díchriptigh Cealla    Seol Ríomhphost trí Liosta   |  Scagaire Super   |   Scagaire Speisialta (scagaire trom/iodálach/stailc tríd...) ...
Barr 15 Uirlisí12 Téacs uirlisí (Cuir Téacs, Bain Carachtair,...)   |   50 + Cairt cineálacha (Cairt Gantt,...)   |   40+ Praiticiúil Foirmlí (Ríomh aois bunaithe ar lá breithe,...)   |   19 Insertion uirlisí (Cuir isteach Cód QR, Ionsáigh Pictiúr ón gCosán,...)   |   12 Tiontú uirlisí (Uimhreacha le Focail, Comhshó Airgeadra,...)   |   7 Cumaisc & Scoilt uirlisí (Sraitheanna Comhcheangail Casta, Cealla Scoilt,...)   |   ... agus eile

Supercharge Do Scileanna Excel le Kutools le haghaidh Excel, agus Éifeachtúlacht Taithí Cosúil Ná Roimhe. Kutools le haghaidh Excel Tairiscintí Níos mó ná 300 Ardghnéithe chun Táirgiúlacht a Treisiú agus Sábháil Am.  Cliceáil anseo chun an ghné is mó a theastaíonn uait a fháil ...

Tuairisc


Tugann Tab Oifige comhéadan Tabbed chuig Office, agus Déan Do Obair i bhfad Níos Éasca

  • Cumasaigh eagarthóireacht agus léamh tabbed i Word, Excel, PowerPoint, Foilsitheoir, Rochtain, Visio agus Tionscadal.
  • Oscail agus cruthaigh cáipéisí iolracha i gcluaisíní nua den fhuinneog chéanna, seachas i bhfuinneoga nua.
  • Méadaíonn do tháirgiúlacht 50%, agus laghdaíonn sé na céadta cad a tharlaíonn nuair luch duit gach lá!
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