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

Kenteken 'herkenning' in excel evt met macro?

Status
Niet open voor verdere reacties.

grietjeb

Gebruiker
Lid geworden
22 nov 2011
Berichten
22
Goededag,

Voor mijn werk moet ik, in een hele lange lijst kentekens, 'tellen' hoeveel daarvan niet Nederlands zijn.

Een hulp kolom is geen probleem.

Nu kan je bijvoorbeeld een kenteken met meer of minder dan 6 posities laten kenmerken als 'Buitenlands' in hulpkolom (=ALS(LENGTE(P4)=6;"NL";"Buitenland")
Helaas zijn er ook landen met een kenteken met 6 posities. Bijvoorbeeld Belgie.

Deze onderscheiden zich van NL's kentekens doordat zij "Letter-Letter-Letter-Cijfer-Cijfer-Cijfer" of andersom hebben, iets wat met een nederlands kenteken nooit zou kunnen.

Wat ik dus eigenlijk zou willen, is dat kentekens met een van de volgende 'opbouw' (A= letter; 1=cijfer):
AA-AA-11
11-AA-AA
11-AAA-1
1-AAA-11

Worden gekenmerkt als NL in de hulp kolom (cel naast kenteken)

En de rest als Buitenland ;-)

Kan dat?
 
Over welke andere landen gaat het en wat is hun opbouw van kenteken.
Bestaat het met zekerheid niet dat een ander land exact dezelfde opbouw heeft?
En omgekeerd bestaan er geen ned kentekens die niet aan genoemde eisen voldoen?
Je kunt misschien gaan testen op het streepje?

in dit voorbeeldje zijn kolommen B; C en D tussenstapjes om de formule te kunnen begrijpen.
 

Bijlagen

En vergeet dan ook niet 11-aa-11 en 11-11-aa
 
De nieuwe Belgische nummerplaat heeft volgende structuur 1-AAA-111 en wordt als dusdanig als Nederlandse herkend bij popipipo. Er zal dus nog minstens 1 criterium moeten worden toegevoegd (bv lengte).
 
Bedankt voor de hulp alvast!

Oudere kentekens dan " aa-aa-11 " komen niet in de lijst voor en heb ik daarom weggelaten. Lettertype is niet van belang.

Of er landen zijn die precies een zelfde format gebruiken weet ik niet, maar er zullen er altijd een paar niet kloppen, opzich is dat niet zo heel erg. Kleine foutmarge hou je toch wel.
Ik ga morgen op mijn werk er uitgebreid naar kijken ;) alvast bedankt!
 
Zo.

Bedankt voor de hulp nogmaals.
met de streepjes word het helaas niet, ik heb ook geen streepjes in mijn bestand (desondanks vind ik hem wel slim gemaakt :D).
Kentekens zet het systeem 'gewoon' neer als bijv '61PKKT'. Bijgevoegd een 'voorbeeld' bestandje zoals hij ze moet herkennen. Eerst de kentekens zoals ze ook in mijn lijst staan (heb er een paar uit gevist) en de 3de kolom geeft aan hoe ze gekenmerkt zouden moeten worden. 4de kolom heb ik even voor mezelf de format schematisch neergezet...
Probleem is namelijk dat mijn lijst zomaar eens 60.000 regels lang kan zijn en om daar nu alles handmatig in NL of Buitenland te kenmerken :(
 

Bijlagen

Slim slim! :D Zoiets zat ik ook al te denken, vandaar dat ik al met die format zat te werken, maar slim ja, meer dan 6 is sowieso buitenland, en alleen die met 6 hoef je verder te specificeren. Hier kan ik wel wat mee hoor :D!
 
Een VBA specialist zou ik mezelf niet noemen, maar ik denk dat ik toch iets werkbaar in elkaar gestoken heb.
Code:
Sub RegEx()
    With CreateObject("VBScript.RegExp")
        .Pattern = "[0-9]{2}[A-Z]{3}[0-9]{1}|[0-9]{2}[A-Z]{4}|[0-9]{1}[A-Z]{3}[0-9]{2}|[A-Z]{2}[0-9]{2}[A-Z]{2}|[A-Z]{4}[0-9]{2}"
        For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
            cNum = Len(Cells(i, 1))
            If cNum = 6 Then
                Range("B" & i).Value = IIf(.test(Cells(i, 1)), "NL", "Buitenland")
            Else
                Range("B" & i).Value = "Buitenland"
            End If
        Next
    End With
End Sub

PS: Getest op voorbeeldbestand uit Post#8
 
andere aanpak

kentekens online opvragen bij de RDW, zie https://ovi.rdw.nl/

Als blijkt dat u een te hoog aantal gegevens via deze voor particulieren ontwikkelde dienst opvraagt, zal de RDW u de toegang tot deze dienst ontzeggen.
bron: https://ovi.rdw.nl/
dit blijkt na het in korte tijd opvragen van 5 a 6 kentekens te zijn

misschien is het wel voldoende om uitsluitsel te geven over de twijfelgevallen
 

Bijlagen

Laatst bewerkt:
2 matrixformules op volgens TS soms 60000 rijen (120000 formules), is dit dan haalbaar qua berekeningskracht en -snelheid ?
GiMe, dit is niet kritisch bedoelt, maar eerder uit interesse over haalbaarheid.
 
Daar kan je wellicht gelijk in hebben, voor mij was het louter een vingeroefening, de TS is uiteindelijk de scherprechter.
 
Heb het toch eens gecheckt :
60000 rijen met
mijn matrixformules :+/- 12 min
je Vba benaderinn : +/- 1min

beide toch sneller dan handmatig !
 
Beter dan handmatig is altijd een waarheid als een koe.
Alles zal afhangen v/d sterkte van TS computer en de wil om een VBA-oplossing te gebruiken EN de juistheid van mijn code.
Heb het ook eens getest op 60000 rijen en ik kwam uit op 3,5 sec.
 
met de gegevens uit #8 leidt deze oneliner tot 100% gewenst resultaat:

Code:
Sub snb()
    [D1:D100] = [if(len(A1:A100)*iserror(1*right(A1:A100,3))*iserror(1*left(A1:A100,3))*iserror(1*mid(A1:A100,2,2))=6,A1:A100,"")]
End Sub
 
Laatst bewerkt:
De cijfer-lettercombinatie op het kenteken

Jaartal
Serie Combinatie
1951 XX-99-99
1965 99-99-XX
1973 99-XX-99
1978 XX-99-XX
1991 XX-XX-99
1999 99-XX-XX
2005 7 99-XXX-9
2006 9 XX-999-X
2008 10 X-999-XX
2009 8 9-XXX-99

X = letter, 9 = cijfer

De vier nieuwe kentekencombinaties zijn:
Kentekencombinatie 7: 12-ABC-3
Kentekencombinatie 8: 1-ABC-23
Kentekencombinatie 9: AB-123-C
Kentekencombinatie 10: A-123-BC

bron: http://www.rdw.nl/nl/particulier/de...es/Decijferlettercombinatieophetkenteken.aspx

iets meer dan in bericht#1
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan