[Excel] verschillende variabele nummers in tekst vinden

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Wij hebben in een excel verschillende lijnen met codes, iets in deze vorm:

56565-D8-DO-5LO-2RO-CONTACT
44465-D4-STE-10LO-1RO-REVIEW
8768-D83-ELL-2LO-SUMM
99968-D1-RL-2RO-WAZZ

en ik probeer een formule te maken die mij per rij kan weergeven hoeveel LO en/of RO er in de lijn staan.

Dus bovenstaande lijnen zouden volgende resultaat moeten opleveren

5 LO | 2 RO
10 LO | 1 RO
2 LO | 0 RO
0 LO | 2 RO

Ik heb al met tekst find formules aan het proberen geweest maar ik vind geen robuste manier om met de onregelmatigheid van de lijnen. Is er een manier om dit te doen?

Just me

Alle reacties


Acties:
  • 0 Henk 'm!

  • Ursamajor
  • Registratie: Juli 2002
  • Laatst online: 07-10 10:02

Ursamajor

Astrofotograaf

Wellicht ben je het beste af met een script die middels regex deze info zoekt.

Gadgets FTW!


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Met vind.spec(“-*LO-“) vind je de positie van de lo aanduiding waarna je met waarde() en deel() verder kunt. Ik twijfel alleen of excel struikelt over waarde(“5L”). In dat geval moet je ook de lengte van tekstdeel tussen - en LO achterhalen.

Nog een als.fout() er om voor als LO helemaal niet voorkomt en je ben er.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Lustucru schreef op dinsdag 9 juli 2019 @ 17:52:
Met vind.spec(“-*LO-“) vind je de positie van de lo aanduiding...
Nee, dan vind je de plaats van het eerste dwarsstreepje.

Als het getal vóór "LO" resp. "RO" niet groter is dan 99, dan kan, als de eerste code in A1 staat, gebruikt worden in de cel waarin het resultaat voor "LO" moet verschijnen:
code:
1
=ALS.FOUT(ALS(VIND.SPEC("LO";A1);ALS(ISGETAL(--DEEL(A1;VIND.SPEC("LO";A1)-2;1));DEEL(A1;VIND.SPEC("LO";A1)-2;4);DEEL(A1;VIND.SPEC("LO";A1)-1;3)));"")
Voor "RO" wijzig je in de formule LO in RO .

[ Voor 12% gewijzigd door dix-neuf op 10-07-2019 12:23 ]


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
dix-neuf schreef op woensdag 10 juli 2019 @ 11:49:
[...]
Nee, dan vind je de plaats van het eerste dwarsstreepje.

Als het getal vóór "LO" resp. "RO" niet groter is dan 99, dan kan, als de eerste code in A1 staat, gebruikt worden in de cel waarin het resultaat voor "LO" moet verschijnen:
code:
1
=ALS.FOUT(ALS(VIND.SPEC("LO";A1);ALS(ISGETAL(--DEEL(A1;VIND.SPEC("LO";A1)-2;1));DEEL(A1;VIND.SPEC("LO";A1)-2;4);DEEL(A1;VIND.SPEC("LO";A1)-1;3)));"")
Voor "RO" wijzig je in de formule LO in RO .
Deze ga ik zeker proberen zodra ik kan, ik prefereer wel zonder macro's te werken indien mogelijk.

Just me


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Dat ís een oplossing zonder macro's !
Pagina: 1