[Excel] Vind aantal karakters na waarde in een lange string

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Excel_noob
  • Registratie: Oktober 2024
  • Laatst online: 25-10-2024
Hallo allemaal,

Ik ben op zoek naar een manier om met een Excel formule een aantal karakters na een specifieke identifier te vinden in een lange string.

De string bestaat uit een lange reeks (gauw zo'n 3000) aaneengesloten hexadecimale karakters, die in één cell staan. Binnen die string staat specifieke data, waarbij elk stukje data een eigen identifier heeft, bijvoorbeeld "004C". Na de identifier volgen een aantal karakters met een waarde, die ik in Excel wil uitwerken in tabellen en grafieken. Sommige identifiers worden gevolgd door 2 karakters (1byte) met een waarde. Andere identifiers worden gevolgd door een reeks met bijvoorbeeld 20 karakters.

De lengte van de string met karakters kan wisselen, waardoor dezelfde identifier op een andere positie gevonden wordt (ietwat verschoven). Een formule die uitgaat van een vaste positie werkt dus niet.

Ik heb flink lopen zoeken en vond wel wat op Engelstalige website, maar dan zit je weer met de conversie van de formule als je een Nederlandstalige versie van Excel gebruikt.

Specifiek ben ik op zoek naar de magische formule die:
binnen een lange string van 3000 karakters, zoekt naar de unieke identifier "004C" en dan een door mij vastgesteld aantal karakters (bijvoorbeeld 2 of 20) die direct na de identifier volgen, in een aparte cell plaatst.

Ik ben benieuwd naar jullie oplossingen! :)

Beste antwoord (via Excel_noob op 17-10-2024 16:37)


  • Skytrnc
  • Registratie: Oktober 2023
  • Laatst online: 01-10 13:34
Wellicht werkt dit: =DEEL(A1;VIND.SPEC("004C";A1)+ 4;10)

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Skytrnc
  • Registratie: Oktober 2023
  • Laatst online: 01-10 13:34
Wellicht werkt dit: =DEEL(A1;VIND.SPEC("004C";A1)+ 4;10)

Acties:
  • 0 Henk 'm!

  • tinytinnie
  • Registratie: November 2019
  • Laatst online: 01-10 16:15
Of
=MID(A2, FIND("004C",A2)+4, 3)
In het Nederlands krijg je dan:

=DEEL(A2; VIND("004C";A2)+4; 3)

Vind vind je substring en geeft de plaats in de string aan. Daar tel je 4 bij op omdat je vier tekens wilt overslaan. De 3 aan het einde geeft het aantal tekens weer dat je wilt krijgen. DEEL haalt een stukje uit een string.

Acties:
  • 0 Henk 'm!

  • Excel_noob
  • Registratie: Oktober 2024
  • Laatst online: 25-10-2024
Werkelijk exact wat ik zocht! _/-\o_

En ik ben ook nog eens tevreden met de snelheid waarmee ik geholpen ben :Y

Acties:
  • +1 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Excel_noob schreef op donderdag 17 oktober 2024 @ 16:38:
En ik ben ook nog eens tevreden met de snelheid waarmee ik geholpen ben :Y
Nou, dat is fijn, maar vergeet niet dat dit een forum is en geen helpdesk. Dus je kunt zelf ook bijdragen, als je wilt! Zou in ieder geval wel gewaardeerd worden. ;) Neem eens een kijkje tussen de Actieve Topics en wellicht kom je een onderwerp tegen dat je interesseert of waar jij wat van weet!

Welkom, in ieder geval! :)

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • +1 Henk 'm!

  • heuveltje
  • Registratie: Februari 2000
  • Laatst online: 07:22

heuveltje

KoelkastFilosoof

Excel heeft een rare bug dat de max karakters in een cell iets van 32.000 is. Maar dat de standaard zoek en of vervang functie (ctrl-f) alleen maar zoekt in de eerste 8000 karakters

Ik weet niet of het ook geld voor de find functie
Maar aangezien ik destijds 2 uur heb lopen zoeken waarom mijn script de ene keer wel werkte en de andere keer niet.... Dacht ik , ik vermeld het maar even :P

https://www.reddit.com/r/...ace_cell_character_limit/

Heuveltjes CPU geschiedenis door de jaren heen : AMD 486dx4 100, Cyrix PR166+, Intel P233MMX, Intel Celeron 366Mhz, AMD K6-450, AMD duron 600, AMD Thunderbird 1200mhz, AMD Athlon 64 x2 5600, AMD Phenom X3 720, Intel i5 4460, AMD Ryzen 5 3600 5800x3d

Pagina: 1