• 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 voor ophalen deel gegevens

Status
Niet open voor verdere reacties.
Zo:
Code:
=ALS(ISFOUT(VIND.SPEC(",";A1));"";ALS(LINKS(DEEL(A1;VIND.SPEC(",";A1)+2;99);VIND.SPEC(",";DEEL(A1;VIND.SPEC(",";A1)+2;99)&",")-1)="";"x";LINKS(DEEL(A1;VIND.SPEC(",";A1)+2;99);VIND.SPEC(",";DEEL(A1;VIND.SPEC(",";A1)+2;99)&",")-1)))

of in geval van een teveel aan spaties (maar dat voorbeeld geef je zelf volgens mij niet):
Code:
=ALS(ISFOUT(VIND.SPEC(",";A1));"";SUBSTITUEREN(ALS(LINKS(DEEL(A1;VIND.SPEC(",";A1)+2;99);VIND.SPEC(",";DEEL(A1;VIND.SPEC(",";A1)+2;99)&",")-1)="";"x";LINKS(DEEL(A1;VIND.SPEC(",";A1)+2;99);VIND.SPEC(",";DEEL(A1;VIND.SPEC(",";A1)+2;99)&",")-1));" ";""))
 
Ik vraag me trouwens af wat er mankeert aan de suggestie van popipipo (helemaal op het begin ergens) om 'tekst naar kolommen' te gebruiken. Dat is toch het gemakkelijkst? Geef de komma als scheidingsteken, sla alle kolommen behalve de 2e over bij het importeren en je houdt alleen de tekst tussen de eerste en (een eventuele) tweede komma over (het enige is dat het een eventueel teveel aan spaties wel meeneemt, maar daar zou een formule dan weer wel aan te pas kunnen komen).
 
Daniel,

Het gaat hier niet om een komma-gescheiden bestand, maar om 1 cel waarin komma-gescheiden tekst staat.
 
ik denk dat ik er zo voorlopig uit ben. Dank jullie beiden (Kees en Daniel) en ook de anderen voor de moeite !

vwb de code van Daniel heb ik het 2e codeblok gebruikt:
ik heb alle +2 bij DEEL(A1;VIND.SPEC(",";A1)+2;99) gewijzigd in + 1
Dit voldoet beter omdat evt. spaties er toch uitgefilterd worden.

Met deze oplossing als basis wil ik proberen hetzelfde te bereiken voor de tekst na de 2e komma.
(mocht je nog gelegenheid hebben dan houd ik mij aanbevolen)
 
Laatst bewerkt:
Heb je enig idee hoeveel komma's er maximaal in een cel kunnen komen?

Kees
 
Ok, maar de 'tekst naar kolommen' verdeeld juist de tekst in één cel over meerdere kolommen met de optie om bepaalde kolommen over te slaan
 
Kees,

het max. aantal kommas per cel is 8, in de praktijk zal het aantal meestal tussen 4 en 6 varieren.
 
Laatst bewerkt:
Daniel,

Ik ken het principe. Is niet flauw bedoeld maar in dit specifieke geval heb ik nauwelijks
de mogelijkheid om dit, zonder veel aanpassingen in de sheet, toe te passen.
 
Ik denk dat je in geval van 8 komma's met hulpkolommen moet gaan werken. Als dat geen probleem is, kan ik waarschijnlijk wel wat in elkaar draaien.

Kees
 
Nogmaals dank aan jullie beiden.

Kees dank voor het aanbod, maar met de huidige versie ga ik eerst proberen deze ook specifiek voor de string na de 2e komma te maken.
 
Hallo Daniel,

Ik ben bezig geweest met de aanpassing van je 2e code-blok (#21) om hiermee de waarde
na de 2e (ipv na de 1e) komma op te halen. Het is mij nog niet gelukt.
Zou je deze aanpassing in het 2e code-blok kunnen maken (hoop niet te onbescheiden te zijn).
 
Test deze eens:
Code:
=ALS(ISFOUT(VIND.SPEC(",";A1;VIND.SPEC(",";A1)+2));"";SUBSTITUEREN(ALS(LINKS(DEEL(A1;VIND.SPEC(",";A1;VIND.SPEC(",";A1)+2)+2;99);VIND.SPEC(",";DEEL(A1;VIND.SPEC(",";A1;VIND.SPEC(",";A1)+2)+2;99)&",")-1)="";"x";LINKS(DEEL(A1;VIND.SPEC(",";A1;VIND.SPEC(",";A1)+2)+2;99);VIND.SPEC(",";DEEL(A1;VIND.SPEC(",";A1;VIND.SPEC(",";A1)+2)+2;99)&",")-1));" ";""))
 
Je zou het ook met visual basic kunnen proberen (wellicht is dat makkelijker), probeer deze eens (of zie bijlage en activeer de macro):
Code:
Sub kstr()
Dim it As Range, a As Variant
For Each it In Sheets(1).Range("A:A")
    If Not it = "" Then
        a = Split(Replace(it, " ", ""), ",")
        If UBound(a) > 0 Then it.Offset(, 1) = a(1)
        If UBound(a) > 1 Then it.Offset(, 2) = a(2)
    End If
Next
End Sub
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan