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

gecombineerde bewerkingen op tekst, iets met LINKS?

Status
Niet open voor verdere reacties.

AKingma

Gebruiker
Lid geworden
3 nov 2015
Berichten
94
Beste allen,
ik heb een bestand waarin één kolom drie typen nummers (tekstveld) bevat:
1. jjjj-xxxxx (jaartal streep, 5 cijfers)
2. jjjj-xxxxxH (idem, gevolgd door een H)
3. jjjj-SBO-xxxxx (variant op 1 met extra streepje en SBO ertussen).

hiermee wil ik een nieuwe kolom maken, waarin alle nummers van het type POxxxx-jjjj-xxxxx worden, dus zoals variant 1, maar dan met een voorvoegsel van 2 letters en 4 cijfers en een streepje.

Met behulp van de volgende formule: =ALS(ISFOUT(VIND.SPEC("H";B2));"-";"herindicatie"), is het me al wel gelukt om de nummers waarin een H voorkomt te identificeren en iets met die info te doen, maar nu zoek ik dus naar een soortgelijke formule waarmee ik tekst kan vervangen en daarna kan samenvoegen. Ik denk dat ik iets met LINKS moet doen, maar kom er niet uit.
Gebruikmaken van hulpkolommen is geen bezwaar. Wie helpt? Zie ook voorbeeldbestandje
Bekijk bijlage voorbeeldtlvnr.xlsx
 
Tip: het helpt al je ook even voor een aantal rijen de verwachte uitkomst (handmatig) neerzet...

2016-00463H wordt POxxxx-2016-00463H ?
2015-SBO-00691 wordt POxxxx-2015-00691?

Mij is dus nog niet duidelijk wat die eerste 4 cijfers na PO worden. Als dit een vast getal is, is POxxxx ervoor zetten en SBO eruit filteren niet zo moeilijk
Code:
D2: =SUBSTITUEREN("POxxxx-"&B2;"SBO-";"")
Maar dit zal wel weer te simpel gedacht zijn.
 
Laatst bewerkt:
hierbij de gevraagde verduidelijking

2016-00463H wordt PO2806-2016-00463 en 2015-SBO-00691 wordt PO2806-2015-00691.

Het ervoor zetten van PO2806- is dus niet moeilijk, je dacht niet te simpel. Nu de rest nog, voorkomen dat de H en de SBO mee overgaan?
 
Ok. Dan wordt het dit:
Code:
=SUBSTITUEREN(SUBSTITUEREN("PO2806-"&B2;"SBO-";"");"H";"") 

of (nog simpeler):

=LINKS(SUBSTITUEREN("PO2806-"&B2;"SBO-";"");17)
PS ook nog een voorstel voor een simpelere versie van je formule in kolom C:
Code:
=ALS(RECHTS(B2;1)="H";"herindicatie";"-")
 
Laatst bewerkt:
geweldig, dit werkt! nu probeer ik dit ook nog te begrijpen:
=SUBSTITUEREN(SUBSTITUEREN("PO2806-"&B2;"SBO-";"");"H";"") Het substitueren binnen de haken zegt: neem de waarde van B2, zet daar PO2806 voor, en als er SBO in staat poets dat dan weg (vervang SBO door niks). Het substitueren vooraan, buiten de haken zegt: als er in deze cel een H voorkomt, vervang die dan door niks, komt er geen H in voor, laat dan gewoon staan wat er al staat.
denk ik correct?
 
Denkwijze is correct. Met het "&"-teken kun je teksten of cellen aan elkaar knopen, en als "SBO-" voorkomt wordt dit vervangen door niks. Dit gebeurt in het gedeelte SUBSTITUEREN("PO2806-"&B2;"SBO-";""). De uitkomst van dit gedeelte is ook weer een tekst waarop je opnieuw een SUBSTITUEREN functie kunt loslaten. Dat kun je vele keren herhalen indien nodig.

Na posten van de oplossing realiseerde ik me dat je uitkomst altijd 17 karakters lang is, dus dat de formule simpeler kon zijn. Dat is de variant met LINKS(...;17). Gaat ook goed en is korter. Korter is beter bij mij...
 
Laatst bewerkt:
Ah super! zat ik dus toch goed te denken met dat links!
bedankt!
 
Inderdaad. Alleen het stukje tussen de haakjes even een ander format geven eerst.

Als je tevreden bent mag je de vraag op opgelost zetten (rechts bovenaan de pagina).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan