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

Alleen het eerste cijfer in een cel bepalen

Status
Niet open voor verdere reacties.

Unplugged

Gebruiker
Lid geworden
10 dec 2018
Berichten
51
Ik ben op zoek naar een formule die precies het eerste cijfer in een cel bepaalt.
In bijgevoegd voorbeeldbestand staan de gegevens in A, de verwachte uitkomst in C. Welke formule moet ik hiervoor gebruiken?
Via de zoekfunctie ben ik er niet uitgekomen.

Bedankt in ieder geval!
 

Bijlagen

Code:
Function EersteCijfer(C1 As Range)
Dim i As Integer
Dim Resultaat As Byte
For i = 1 To Len(C1)
    If IsNumeric(Mid(C1, i, 1)) Then
        Resultaat = Mid(C1, i, 1)
        EersteCijfer = Resultaat
        Exit Function
    End If
Next i
End Function


Bekijk bijlage Cijfers extraheren (1).xlsm
 
Laatst bewerkt:
Met matrixformule (afsluiten met Ctrl+Shift+Enter):
Code:
=DEEL(A2;MIN(ALS((ISGETAL(1*DEEL(A2;RIJ(INDIRECT("1:"&LENGTE(A2)));1)));RIJ(INDIRECT("1:"&LENGTE(A2)))));1)
 
Mooi, die macro.
Ik denk alleen dat ik aan een macro niets heb in mijn situatie.
Ik ben op zoek naar een formule die ik kan gebruiken voor voorwaardelijke opmaak. En dan heb ik niets aan een macro, denk ik.

Heb je nog een suggestie?

Edit. Zie nu de reactie van rebmog. Dank!
 
Laatst bewerkt:
Op rij 3, 4 en 6 krijg ik een foutmelding als ik deze formule gebruik.

Is een matrixformule ook te gebruiken in voorwaardelijke opmaak?
 
Laatst bewerkt door een moderator:
Ik zie nu dat ik het iets te ingewikkeld heb gemaakt met mijn vraag.
Het eerste cijfer staat altijd op de 1e of 2e positie van de cel. Kan het dan met een eenvoudiger formule dan een matrixformule?
Een matrixformule krijg ik namelijk niet werkend in voorwaardelijke opmaak gestopt.
 
zo?

PHP:
=DEEL(A2;MIN(VIND.SPEC({0;1;2;3;4;5;6;7;8;9};A2&"0123456789"));1)*1
 
Of

PHP:
=MID(A2;2-ISNUMBER(--LEFT(A2;1));1)
 
Laatst bewerkt:
Een matrixformule krijg ik namelijk niet werkend in voorwaardelijke opmaak gestopt.
Een voorwaardelijke opmaak conditie is per definitie een matrixformule... die hoef je niet af te sluiten met C-S-E.
 
zo?
PHP:
=DEEL(A2;MIN(VIND.SPEC({0;1;2;3;4;5;6;7;8;9};A2&"0123456789"));1)*1

Bij een lege cel geeft deze formule een foutmelding: #waarde!
Nu zal dat voor conditionele opmaak niet erg zijn (resultaat is 'onwaar' dus vindt er geen conditionele opmaak plaats).
Maar als ik deze formule gebruik in conditionele opmaak geeft hij een foutmelding:

U mag geen verwijzingsoperators (zoals samenvoegingen, snijpunten of bereiken) of matrixconstanten gebruiken voor Voorwaardelijke opmaak-criteria

Is er een andere formule denkbaar die deze foutmelding niet heeft?
 
Laatst bewerkt door een moderator:
Ja, o.a. die in #12 van snb (NL-versie):
Code:
=DEEL(A2;2-ISGETAL(--LINKS(A2;1));1)
Of anders bijvoorbeeld
Code:
=ALS.FOUT(--LINKS(A2;1);DEEL(A2;2;1))
 
Laatst bewerkt:
Beste unplugged,

Bij een directe reactie is quoten niet nodig :)
Ik heb ze voor nu weggehaald, a.u.b volgende keer gewoon "reageer op bericht" gebruiken.

m.v.g
Rick van Lieshout
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan