• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Formule als tekst samenvoegen

Status
Niet open voor verdere reacties.

Excellies

Gebruiker
Lid geworden
22 dec 2021
Berichten
43
Hallo,

Ik probeer het volgende middels een formule te automatiseren (zie sample file voor verduidelijking):

Als het eerste woord in A3 overeenkomt met A2 dan tekst samenvoegen in cel B2 met <br> ertussen.
Cel B3 mag vervolgens open blijven of er mag een x in komen te staan.
(Als het eerste woord van A4 ook overeenkomt mag deze ook samengevoegd worden met A2 en A3, het idee is dat ik de formule door kan trekken ongeacht hoeveel regels er overeenkomen)

Mocht het eerste woord van A3 niet overeenkomen met A2 dan begint de tekst samenvoeging opnieuw.

Ik hoor graag of iemand mij hierbij kan helpen, alvast bedankt.
 

Bijlagen

  • sample.xlsx
    9,1 KB · Weergaven: 24
In jouw voorbeeld komgeen enkele tekst in kolom a overeen met een andere cel in kolom A.
Jouw beschrijving klopt niet met het voorbeeld.
Waarvoor heb je dit nodig ? Het kan waarschijnlijk veel eenvoudiger met een macro gemaakt worden dan met Excelformules.
 
Laatst bewerkt:
Zie bijlage, macro Samenvoegen.
 

Bijlagen

  • Samenvoegen.xlsm
    17,8 KB · Weergaven: 14
Code:
=ALS(DEEL(A1;1;ALS.FOUT(VIND.SPEC(" ";A1);1))=DEEL(A2;1;VIND.SPEC(" ";A2));"x";TEKST.COMBINEREN("<br>";WAAR;ALS(DEEL(A$2:A$8;1;VIND.SPEC(" ";A$2:A$8))=DEEL(A2;1;VIND.SPEC(" ";A2));A$2:A$8;"")))
 
Bedankt voor alle reacties!

@SNB het ging erom dat het eerste woord uit de cel hetzelfde is als de rest.
@AHulpje je slaat de spijker op zijn kop, super bedankt dit is precies wat ik bedoelde!
@HSV ik heb jouw formule ook geprobeerd, dit werkte goed totdat de volgende variatie kwam. Hij probeerde dan wel te matchen maar gaf #waarde! op de eerste regel (waar de samenvoeging plaats moet vinden), de x-jes die daarop volgde waren wel juist.
 
En deze?

Code:
=LET(r;$A$2:$A$8;x;LEFT(A2;SEARCH(" ";A2)-1);z;x<>LEFT(A1;SEARCH(" ";A1&" ")-1);TEXTJOIN("<br>";;FILTER(IF(z;r);IF(z;LEFT(r;SEARCH(" ";r&" ")-1))=x;"x")))
 
Nog maar één voor Excel 365 dan:
Code:
=LET(a;$A$2:$A$8;x;TEKST.COMBINEREN("<br>";WAAR;ALS(LINKS(a;VIND.SPEC(" ";a))=LINKS(A2;VIND.SPEC(" ";A2));a;""));ALS(AANTAL.ALS(B$1:B1;x)>0;"x";x))
 
Voor VBA is dit voldoende

Code:
Sub jec()
 Dim ar, k, i As Long
 ar = Range("A2", Range("A" & Rows.Count).End(xlUp))
 
 With CreateObject("scripting.dictionary")
   For i = 1 To UBound(ar)
       k = Split(ar(i, 1))(0)
       If .exists(k) Then .Item(k & i) = "x"
      .Item(k) = .Item(k) & IIf(Len(.Item(k)), "<br>", "") & ar(i, 1)
   Next
   Range("H2").Resize(.Count) = Application.Transpose(.items)
 End With
End Sub
 
@JEC Jij bent op dreef haha! Mijn excel pikt de formules niet dus heb even de VBA geprobeerd. Werkt ook perfect!
 
Code:
Sub M_snb()
  sn = Columns(1).SpecialCells(2).Resize(, 2)
  
  y = 2
  For j = 2 To UBound(sn)
    c00 = Split(sn(j, 1))(0)
    If InStr(sn(y, 2), c00) Then
       sn(y, 2) = Join(Array(sn(y, 2), sn(j, 1)), "<br/>")
       sn(j, 2) = "x"
    Else
       y = j
       sn(y, 2) = sn(j, 1)
    End If
  Next
  
  Cells(1).Resize(UBound(sn), 2) = sn
End Sub
 
@SNB met de kers op de taart haha, werkt perfect! Moest alleen een / weghalen bij <br/>.
Wederom bedankt!
 
Zoek eens in je html boek naar het verschil tussen <br> en <br/>.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan