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

Projectnummer verkort

Status
Niet open voor verdere reacties.

Markvb87

Gebruiker
Lid geworden
4 mrt 2012
Berichten
14
Goedemorgen,

Ik ben al een tijdje bezig om een projectnummer te filteren uit een cel met een standaardformule. Nu ben ik volgens mij redelijk op weg, alleen het laatste stukje krijg ik niet voor elkaar. Ik heb een klein voorbeeldje opgesteld met toelichting in Excel om het probleem duidelijk te maken.

Ik hoop dat iemand mij hier verder mee kan helpen.

Alvast bedankt voor de moeite!

Met vriendelijke groet,

Mark
 

Bijlagen

Ja hoor, simpel met een matrix formule (ctrl shift enter)

Code:
=MID(A2;6;MAX(NOT(ISERROR(ROW(1:12)/ISNUMBER(-MID(A2;ROW(1:12);1))))*ROW(1:12))-5)
 
Laatst bewerkt:
Ja hoor, simpel met een matrix formule (ctrl shift enter)

Code:
=MID(A2;6;MAX(N(NOT(ISERROR(ROW(1:15)/N(ISNUMBER(1*MID(A2;ROW(1:15);1))))))*ROW(1:15))-5)


Ik ben toch nog een leek met dit soort complexe formules en krijg de formule niet werkend in Excel (zie bijlage). Daarnaast snap ik ook niet helemaal wat je bedoelt met ctrl shift enter. Zou jij hier nog bij kunnen helpen?

Bij voorbaat dank!
 

Bijlagen

SVP niet citeren/quoten.

Dit soort fora biedt de mogleijkheid op te zoeken wat je niet weet; bijv. ctrl shift enter.

Ik heb de formule in mijn vorige post nog wat vereenvoudigd.
 
De formule van snb in het NL (misschien helpt dit, werkt bij mij):

Code:
=DEEL(A2;6;MAX(N(NIET(ISFOUT(RIJ(1:15)/N(ISGETAL(1*DEEL(A2;RIJ(1:15);1))))))*RIJ(1:15))-5)

Kopieren in B2, dan afsluiten met CTRL+SHIFT+ENTER. Er komen dan {accolades} om de formule te staan. Daarna kun je formule doorvoeren over de rest van de kolom.
 
Laatst bewerkt:
mark, je schrijft:
Ik zie inderdaad dat de VBA functie werkt. Echter ben ik helemaal niet thuis in VBA.
als je wil weten hoe de function werkt druk dan op alt F11 dan zie je hoe hij werkt.
en als je hem in een ander bestand wil gebruiken:
dan gewoon de tekst van de function kopiëren en dan plakken in een module in je eigen bestand.
daarna kun je hem als een gewone excel formule gebruiken.
 
@ snb: excuses voor het citeren/quoten.

@ snb/AlexCel: De formule werkt inderdaad in de Nederlandse variant. Echter als dezelfde sample eronder plak en de formule doortrek werkt deze niet meer (zie bijlage). Ik wil deze formule namelijk gebruiken in verschillende bestanden en doortrekken over duizenden regels. Wat doe ik nog fout?

@ Sylvestor Ponte: Bedankt voor de toelichting. Ik ga mij hier in verdiepen ook met behulp van andere vba gerelateerde topics op dit forum.
 

Bijlagen

Probeer eerst de formule te begrijpen.
Dan kun je je vragen zelf beantwoorden:

Code:
=MID($A2;6;MAX(NOT(ISERROR(ROW($1:$12)/ISNUMBER(-MID($A2;ROW($1:$12);1))))*ROW($1:$12))-5)
 
Bedankt voor alle snelle hulp! Zowel de formule als de vba functie werkt nu.
 
Ik dacht meer aan deze UDF:

Code:
Function F_snb(c00)
   F_snb = Format(Val(Mid(c00, 6)), String(InStr(c00, Val(Mid(c00, 6))) - 4, "0"))
End Function
 
snb, ik vind hem mooi kort
maar hier gaat hij de fout in: "2004/01 PLAATS TEST 96 E-H"
hij geeft dan 001 als antwoord.
 
deze werkt ook bij deze: 2004/PLAATS TEST 96 E-H
en bij deze:2004/00PLAATS TEST 96 E-H
en is dus een verbetering vorige versie van Sylvester

Code:
Function Project_verkort(Tekst As String)
    Dim N As Integer
    For N = 6 To Len(Tekst)
        If Not IsNumeric(Mid(Tekst, N, 1)) Then Exit For
    Next N
    Project_verkort = Mid(Tekst, 6, N - 6)
End Function
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan