• 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.

Ik gebruik een formule om cellen met tekst samen te voegen.

Status
Niet open voor verdere reacties.

gridishere

Gebruiker
Lid geworden
5 nov 2009
Berichten
283
Hallo,

Ik gebruik een formule om cellen met tekst samen te voegen. Deze formule gebruik ik hier voor:

Code:
=SUBSTITUEREN(SPATIES.WISSEN(M2&" "&N2&" "&O2&" "&P2&" "&Q2&" "&R2&" "&S2&" "&T2&" "&U2&" "&V2&" "&X2&" "&Y2&" "&Z2&" "&AA2&" "&AB2&" "&AC2&" "&AD2&" "&AE2&" "&AF2&" "&AG2&" "&AH2&" "&AI2&" ");" ";"+")

Als scheidingsteken gebruik ik een + karakter. Het probleem is echter dat cellen die een spatie bevatten zo worden samengevoegd dat deze spatie ook vervangen wordt door een + karakter. Ik heb een duidelijke omschrijving in mijn voorbeeld bestand geplaatst bij mijn formules.

Weet iemand de oplossing dan bij voorbaat dank.


Met vriendelijke groet,

grid

:)
 

Bijlagen

Laatst bewerkt:
Dit komt omdat de functie Spaties.Wissen alleen voor en naloop spaties wist van een waarde.

Je kunt met als(isleeg(CEL);"";"+"&CEL)) het oplossen. Probleem is dan wel dat je toch een plus teveel kunt hebben, dat je met de formule Rechts() kunt oplossen. De eerste waarde zal namelijk altijd met een "+" beginnen, of dit nu in M2 al het geval is, of pas in kolom AI.


Stop dit in een cel:
Code:
=ALS(ISLEEG(M2);"";"+"&M2)
&ALS(ISLEEG(N2);"";"+"&N2)
&ALS(ISLEEG(O2);"";"+"&O2)
&ALS(ISLEEG(P2);"";"+"&P2)
&ALS(ISLEEG(Q2);"";"+"&Q2)
&ALS(ISLEEG(R2);"";"+"&R2)
&ALS(ISLEEG(S2);"";"+"&S2)
&ALS(ISLEEG(T2);"";"+"&T2)
&ALS(ISLEEG(U2);"";"+"&U2)
&ALS(ISLEEG(V2);"";"+"&V2)
&ALS(ISLEEG(W2);"";"+"&W2)
&ALS(ISLEEG(X2);"";"+"&X2)
&ALS(ISLEEG(Y2);"";"+"&Y2)
&ALS(ISLEEG(Z2);"";"+"&Z2)
&ALS(ISLEEG(AA2);"";"+"&AA2)
&ALS(ISLEEG(AB2);"";"+"&AB2)
&ALS(ISLEEG(AC2);"";"+"&AC2)
&ALS(ISLEEG(AD2);"";"+"&AD2)
&ALS(ISLEEG(AE2);"";"+"&AE2)
&ALS(ISLEEG(AF2);"";"+"&AF2)
&ALS(ISLEEG(AG2);"";"+"&AG2)
&ALS(ISLEEG(AH2);"";"+"&AH2)
&ALS(ISLEEG(AI2);"";"+"&AI2)

En daarna in een andere cel verwijzen naar die cel met deze formule:
(In mijn geval geplakt in A3)
De als lengte = 0, zorgt er voor dat je geen foutcode krijgt, indien alle cellen leeg zijn.
Code:
=ALS(LENGTE(A3)=0;"";RECHTS(A3;LENGTE(A3)-1))

Eigenlijk zou het in 1 cel kunnen qua formule, maar Excel laat niet zoveel tekens toe in 1 cel.
 
Laatst bewerkt:
gridishere,

Ik heb een klein stukje geprobeerd en kwam hier op uit.
Code:
=SUBSTITUEREN(SPATIES.WISSEN(M2&"+"&N2&"+"&O2&"");" ";" ")
Dit maakt Kee s+J oop+Ka trien
 
Dat werkt niet, want dan krijg je als resultaat meerdere plussen bij lege cellen. Volgens mij is dat niet de bedoeling.
 
PSVSupporter,

Je heb gelijk, ik had daar even niet aangedacht.
 
Hallo,

Ik begrijp dat dit er redelijk moeilijk uit ziet. Dan kan het misschien beter als volgend. Ik ga geen + scheidingsteken gebruiken. Maar ik plaats gewoon de uitkomsten afzonderlijk in cellen naast elkaar. Dus dan begin ik met de uitkomsten van M2 tot AI2 in mijn voorbeeld vanaf M9.

Dan krijg ik de voldende uitkomsten in de cellen:

M9 Afspraken maken
N9 Weekend
O9 Alle taken uitvoeren
P9 Geen afgespraken geplanned in de middag
Q9 Leeg

Met welke formule doe je dit is dan weer de vraag :)


grid

:)
 
Laatst bewerkt:
Dan kom ik hier op.
Code:
=TEKST.SAMENVOEGEN(M9;" ";N9;" ";O9;" ";P9;" ";R9)
 
Laatst bewerkt:
In M9 volgende matrix formule:
Code:
=ALS(KOLOM()-12>SOMPRODUCT(($M2:$AI2<>[B][COLOR="red"]""[/COLOR][/B])*1);"";INDIRECT(ADRES(2;KLEINSTE(ALS($M2:$AI2<>[B][COLOR="Red"]""[/COLOR][/B];KOLOM($M2:$AI2);"");KOLOM()-12))))
Dan wel in alle formules van M2 t/m AI2 de " " veranderen in "". Of in mijn formule de "" veranderen in " ".
Let op!! Matrix formule, bevestigen met CTRL+SHIFT+ENTER.

Edit: Hierna kan je de formule doortrekken naar rechts.
 
Laatst bewerkt:
Hallo bandito bob,

In alle formules heb ik " " gezet naar "". In je matrix formule niet omdat het dan fout gaat. In de eerste rij 1 staat de volgorde goed met alles. Bij rij 3, 4 en 5 gebeurd er niks (misschien heb ik je matrix formule niet goed ingevoerd). Wellicht zonder te veel moeite is dit aan te passen?


Met vriendelijke groet,

grid

:)
 

Bijlagen

Laatst bewerkt:
Hier het bestandje terug met de formules. Ik denk dat je vergeten was om de 2 in adres aan te passen. In ADRES(2;...) staat de 2 voor rij 2.
 

Bijlagen

Hierbij ook nog een mogelijkheid zoals je het in eerste instantie in gedachten had.
Misschien heb je er iets aan.
 

Bijlagen

maak een UDF in een macromodule

Code:
Function samen(sq)
  samen=join(worksheetfunction.transpose(sq),"|")
End Function

zet in cel b4

=samen(M9:Q9)

klaar.
 
Hallo bandito bob,

Dit had ik niet door dat je nog de rij adresseren moest. Ben blij dat het nu werkt want het komt van pas. Als ik de formule achter de rij waar ik mee werk plaats werkt het niet. AJ2 bijvoorbeeld. Dit zit ook in de adressering die ik niet zie. Best wel interessant dit. Hoe adresseer je rij 1 als je in AJ2 begint?

In elk geval al bedankt.


geep1980, HSV,

Handige oplossing ook, maar ik gebruik nu deze van bandito bob.


Met vriendelijke groet,

grid

:)
 
Hallo,

Dit werkt hetzelfde als de formule van bandito bob? Indien dit zo is, kun je dan een voorbeeldje geven?

Je code staat in een module.


Met vriendelijke groet,

grid

:)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan