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

Cijfers uit een tekst halen

Status
Niet open voor verdere reacties.

Nightlamppppp

Gebruiker
Lid geworden
3 jun 2017
Berichten
10
Hallo,

Zie het bestand in bijlage, een oefening uit een excel-boek. Ik heb geprobeerd de cijfers uit veld A4 te halen met een formule en deze in B4 te plaatsen. Dit lukte me niet, maar via het net vond ik een formule waarmee het wel werkt. Mijn vraag is: wat is de logica achter die formule, en hoe kan ik zo'n formule ooit zelf vinden? Ook is het getal geen cijfer - de autosom werkt niet naar behoren. Kan dit via deze formule, of via een andere, aangepast worden?

Bedankt,
Hans
 

Bijlagen

  • 084 Aantal leerlingen.xlsx
    9,9 KB · Weergaven: 271
geen antwoord op je vraag, maar het kan ook met.

e4=RECHTS(A4;LENGTE(A4)-VIND.SPEC(":";A4;1))*1 en doortrekken naar beneden.

vind.spec geeft als resultaat 10. De : staat op de 10e positie

lengte van cel a4 = 14

rechts van cel a4 = 14 - 10 = 4

het geeft dus als resultaat de 4 rechtse cellen is 1002

de vermenigvuldiging * 1 is gedaan om van de tekst een getal te maken.

Op dit manier kun je ook met de uitkomst gaan rekenen.

Zie het bijgevoegde bestand.
 

Bijlagen

  • (oeldere) 084 Aantal leerlingen.xlsx
    10,2 KB · Weergaven: 177
Als je er GEHEEL(..formule..) omheen zet, dan heb je wél een getal. Al moet je dan wel zeker van zijn dat je altijd gehele getallen ophaalt, anders moet je een andere conversie gebruiken.
 
En als je een makkelijkere formule zoekt: deze werkt ook. Mits de layout van elke cel hetzelfde is.
Code:
=GEHEEL(DEEL(A4;VIND.SPEC(":";A4;1)+2;LENGTE(A4)-(VIND.SPEC(":";A4;1))-1))
 
Dit maakt er wel een getal van:
Code:
=[COLOR="#FF0000"][B]--[/B][/COLOR]RECHTS(A4;SOMPRODUCT((LENGTE(A4)-LENGTE(SUBSTITUEREN(A4;{0;1;2;3;4;5;6;7;8;9};"")))))
Logica in het kort:
  • De SUBSTITUEREN-functie zorgt ervoor dat alle getallen worden vervangen door niets ("")
  • De SOMPRODUCT is een soort matrixfunctie. Deze zorgt ervoor dat alles wat binnen de accolades staat 1 voor 1 wordt afgewerkt, oftewel eerst wordt de 0 vervangen, dan de 1, dan de 2, etc.
  • De totale LENGTE minus de lengte van de tekst waarin alle getallen vervangen zijn geeft het aantal posities RECHTS die bestaat uit getallen.
  • De -- converteert een tekst-waarde ("10") in een getal-waarde (10).
Hoe je hier op komt? Goede kennis van functies binnen Excel en weten/uitzoeken hoe je ze kunt combineren. En logisch nadenken. In dit geval lijkt het me een complexe oplossing trouwens. Deze werkt ook in je voorbeeld:
Code:
=ALS.FOUT(--RECHTS(A4;4);--RECHTS(A4;3))
 
Laatst bewerkt:
Als het alleen om de : gaat werkt het zo ook.

Code:
=--TRIM(MID(A4;FIND(":";A4)+2;LEN(A4)))

In de Nl versie wordt het een stuk langer:d
 

Bijlagen

  • 084 Aantal leerlingen.xlsb
    9,1 KB · Weergaven: 106
Valt mee.
Code:
=--DEEL(A4;VIND.spec(":";A4)+2;LENGTE(A4))
Spaties.wissen of Trim is niet nodig.

+1 mag ook.
 
Laatst bewerkt:
Nog een optie:
Code:
=--VERVANGEN(A4;1;VIND.SPEC(":";A4);"")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan