• 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 om Productcode te versleutelen werk niet goed

Status
Niet open voor verdere reacties.

PeterStuyvesant

Gebruiker
Lid geworden
8 apr 2011
Berichten
21
=ALS(LINKS(F2;1)="";"";VERT.ZOEKEN(LINKS(F2;1);rng&"";2;0))

Bovenstaande formule (in het echt is hij langer) gebruik ik om de productcode te versleuten. Het werkt als volgt: ik heb een bereik genaamd rng daar zoekt de formule het getal of de letter op die de huidige moet vervangen. (zie voorbeeld)

Maar als de waarde die vervangen moet worden te kort is, dan werkt hij niet. Want ik heb de formule voor het vervangen van een teken 18 keer herhaald zodat ook de langste productcode van 18 tekens volledig wordt omgenummerd (in het voorbeeld heb ik de formule slechts 9 keer herhaald). Nou heb ik dus de "ALS" formule toegevoegd om dit af te vangen maar dit is jammerlijk mislukt. Door het teken te vergelijk met "" (niks dus) wil ik dus bewerkstelligen dat wanneer er geen teken (het einde van de productcode dus is bereikt) staat de zoeken formule niet wordt uitgevoerd.

Ik heb deze omnummerformule trouwens ook van dit forum gehaald, zij het wel dat ik hem hier en daar heb aangepast.
 

Bijlagen

Je meldt niet dat de volgorde gelijk moet blijven, dus ik werk vanaf de achterkant voor een lengte van max twintig:
Code:
=ALS(F2="";"";ALS.FOUT(VERT.ZOEKEN(RECHTS(F2;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-1;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-2;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-3;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-4;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-5;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-6;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-7;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-8;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-9;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-10;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-11;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-12;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-13;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-14;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-15;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-16;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-17;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-18;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-19;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;LENGTE(F2)-20;1);rng;2);""))

Vanaf de voorkant:
Code:
=ALS(F2="";"";ALS.FOUT(VERT.ZOEKEN(LINKS(F2;1);rng;2);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;2;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;3;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;4;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;5;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;6;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;7;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;8;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;9;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;10;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;11;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;12;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;13;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;14;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;15;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;16;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;17;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;18;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;19;1);rng;2;0);"")&ALS.FOUT(VERT.ZOEKEN(MIDDEN(F2;20;1);rng;2;0);""))
 

Bijlagen

Zolang de code maar weer te herleiden is, maakt het niet uit dat hij achterstevoren staat;). Dit werkt trouwens uitstekend, dank u!!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan