Excel: zoeken in tekst en herlebellen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • frankdegraaf82
  • Registratie: December 2018
  • Laatst online: 28-05 12:28
Ik wil graag zoeken in excel en als ik een match heb de waarde volgens een index toevoegen.
Dus als er bijvoorbeeld in een cel de volgende tekst staat:

'Europese incasso door H&M -109870104267/KLANT 13244336 KNMRK 200251063/FACT 46526999986 DAT. 19022018/Termijn 66 00 BTW 11 45-Incassant ID: DE18ZZZ171469890000-Kenmerk Machtiging: 00001244908-10073344664267'

Wil ik in de kolom ernaast dat daar alleen H&M staat. Deze teksten kunnen miljoenen versies hebben maar altijd staat de bedrijfsnaam ernaast. Ik ben dus opzoek om het verdere analyseren van een datadump te vermakkelijken door deze logische labels te geven. Dit kunnen echter verschillende bedrijfsnamen zijn, dus het is essentieel dat de formule op verschillende namen zoekt en de gevonden versie toevoegt. Dit betekend wel dat je de indexlijst met namen moet bijhouden als hij deze niet kan vinden.

Alle reacties


Acties:
  • 0 Henk 'm!

  • GRDavies75
  • Registratie: December 2014
  • Laatst online: 10-10 10:32

GRDavies75

PSN-id: GRDavies

Ten eerste denk ik dat ik je eerst moet wijzen op de regels hier op het forum en dan voornamelijk dat er hier verwacht wordt dat je ook mededeelt:
  • Wat heb je zelf al geprobeerd?
  • Waar loop je tegenaan?
  • (Daarnaast wordt het gewaardeerd, mocht je er uit zijn gekomen) Wat was voor jou de oplossing/welk duwtje was genoeg voor jou om verder te kunnen/o.i.d.?
Dat gezegd hebbende, ik zie een koppelteken(minteken) na H&M is dat altijd het geval? Zoja, dan zou ik:
  1. Een ander tabblad vullen met de lijst van bedrijfsnamen
  2. Die bij "Namen beheren" een naampje toekennen, je kan de kolom selecteren (=Blad2!$A:$A), bijvoorbeeld "bedrijven". Dit zorgt ervoor dat je de lijst zo lang kan maken als je wilt
  3. In kolom B
    code:
    1
    
    =ALS.NB(VERT.ZOEKEN(SPATIES.WISSEN((LINKS(A2;(VIND.ALLES("-";A2)-1))));bedrijven;1;0);"Niet gevonden")
  4. In kolom C
    code:
    1
    
    =ALS(B2="Niet gevonden";SPATIES.WISSEN((LINKS(A2;(VIND.ALLES("-";A2)-1))));"")
  5. Door je eerste tabblad te filteren op "Niet gevonden" heb je nu in kolom C de bedrijfsnamen staan die je nog niet hebt en voegt die toe aan je "bedrijven" lijstje/kolom
Kijk maar of je hiermee wat mee kan.
Extra uitleg:
  • De voornaamste uitdaging is dat je niet weet hoe lang de bedrijfsnamen zijn, daarom zou het fijn zijn als er een patroon is in de volledige tekst, idealiter bestaat het patroon [bedrijfsnaam]-[rest van de tekst].
  • Omdat je niet weet hoe lang de bedrijfsnamen zijn en excel niet zo makkelijk teken voor teken de tekst doorgaat lopen en per keer dit opzoeken in de lijst, is mijn voorgestelde manier van werken een oplossing
Het is nog vroeg, ik zie ook dat er de tekst "Europese incasso door " nog voor H&M staat, is dat altijd het geval? Of hoeveel variaties zijn daar op? Want dan wil moet dat ook nog gestript worden, natuurlijk. In een ideale wereld is het altijd die tekst, dan moet je Links(A2;22) gebruiken, waar de 22 voor de lengte staat van dat stukje tekst ;)

[ Voor 24% gewijzigd door GRDavies75 op 18-07-2019 09:19 . Reden: extra uitleg ]