Jump to content
  • 0

Tekst filteren en plaatsen in ander veld


martindes

Question

Posted

Ik ben op zoek naar een functie om tekst te filteren uit een veld en die te plaatsen in een ander veld.

 

De tekst die ik moet filteren is geïmporteerd en bevat waarden die nogal eens verschillend ingevoerd kunnen zijn maar die wel dezelfde waarde hebben.

 

Hieronder 5 voorbeelden van waarden die in dat veld kunnen voorkomen.

 

Boeing 747 400

Boeing 747-400

Boeing 747(400)

Boeing 767-306

Boeing 767 306

Boeing 767(306)

 

Let erop dat bij de éne waarde een dash (-) in de waarde zit en bij de ander een spatie of een ander teken.

 

Voor de Boeing waarden wil ik de volgende waarde eigenlijk het liefst laten inlopen in twee velden

 

Veld 1 "Boeing"

Veld 2 "Boeing 747" (wanneer de waarde Boeing en 747 zijn gevonden)

Veld 2 "Boeing 767" (wanneer de waarde Boeing en 767 zijn gevonden)

 

Ik heb al één en ander geprobeerd met de functies filter en position maar dat lukt me niet.

 

Weet iemand een oplossing? Een link waar ik één en ander kan nalezen is ook welkom.

14 answers to this question

Recommended Posts

  • 0
Posted

Als je de spaties wilt behouden kun je ook eerst de haakjes en streepjes omzetten in spaties, de formule wordt dan iets als:

 

Filter(

Substitute( Bron

;["(";" "]

;["-";" "]

)

;

" 01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")

  • 0
Posted

Dank. Ben eenstukje verder.

 

Ik heb de tekst behoorlijk op moeten schonen want er zaten tekens in die moeilijk te vervangen waren.

 

Maar goed. Ben een stap verder.

 

Wat ik nu heb is het volgende

 

PH-AOK#Airbus A330-203@0834

@7073@F-WWKZ

@09.05.2007@KLM#NV,@Amstelveen.@"Radhuspladsen-KØbenhavn"

@Eigenaar@Whitney@Leasing@Ltd,@Hamilton(N).

 

Ik heb bewust voor Airbus een # geplaatst en erna een @. De tekst na # is het type nummer. De tekst na @ is het constructienummer.

 

De eerste heb ik al. Die reeks bestaat altijd uit 6 tekens.

 

Nu zou ik graag het type en het constructie nummer automatisch willen laten inlopen in twee aparte velden.

 

Volgens mij kan ik dat met position doen maar ik weet niet hoe.

  • 0
Posted

Grandioos. Dat werkt super.

 

Nu heb ik er nog één nodig en dat is een formule met een wildcard.

 

Bijvoorbeeld.

Uit de tekstbestanden heb ik een record waar op de tweede regel staat.

Boeing 747-406BC

 

Deze heb ik nu met middle values eruit getrokken en in dat nieuwe veld geplaatst.

 

Dit type behoort tot de familie Boeing 747-400. Er zijn vele versies van dit type beschikbaar met allemaal verschillende aanduidingen zoals Boeing 747-406, Boeing 747-412, Boeing 747-436CF etcetera.

 

Dan heb ik heb een record nodig waarbij de variaties vervangen worden voor Boeing 747-400

 

Boeing 747-406, moet worden Boeing 747-400

Boeing 747-412, moet worden Boeing 747-400

Boeing 747-436CF, moet worden Boeing 747-400

  • 0
Posted

Ik denk toch dat ik een wildcard oplossing nodig heb.

 

Er zijn veel te veel variaties voorhanden die via het internet als bestanden binnenkomen.

 

Het zou voor deze oplossing, die op zich wel werkt, betekenen dat er toch nog veel handmatig ingevoerd moet worden.

  • 0
Posted
De eerste heb ik al. Die reeks bestaat altijd uit 6 tekens.

 

En nu blijkt dat de tweede eigenlijk zonder de laatste twee tekens wilt checken.

Daarmee heb je volgens mij je wildcard.

En met Left en Length kan je dan de tekst zonder de laatste twee te pakken krijgen.

 

HTH

 

rmw

  • 0
Posted
Dan moet je op zoek naar de vaste gegevens.

 

Klopt. Dat is de clou hier.

 

De verschillen kunnen nogal complex zijn maar er zit altijd een vaste waarde in.

Boeing 747-406BCF en Boeing 747-4DK bevattn de vaste waarde Boeing en Boeing 747-4

Lockheed L1049 Super Constellation en Lockheed L749 Constellation hebben als vaste waarde "Lockheed" en "Constellation" (en Constellation kan ik vereenvoudigen tot "Constel" om eventuele typefouten op te vangen)

 

En zo zijn er veel meer.

 

Ik heb nu deze geprobeerd.

 

Case (

PatternCount ( Dash type ; "Boeing 747-4" ) ;

"Boeing 747-400"

)

 

Dat werkt.

 

Maar, kan ik deze formule ook nesten zodat ik ook de waardes "Boeing 747-3" kan vervangen voor "Boeing 747-300"?

  • 0
Posted

@Felix

Het werkt bijna zoals het zou moeten.

 

Ik heb alleen nog één akkefietje.

 

Bij Fokker F.V en Fokker F.VII werkt het niet.

 

PatternCount ( Vliegtuigtype model ; "Fokker F.V" ) ; "Fokker F.V";

PatternCount ( Vliegtuigtype model ; "Fokker F.VIIa" ) ; "Fokker F.VII";

 

Bij beide levert dit als resultaat Fokker F.V op omdat de formule in de tweede de string ziet van de eerste regel.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...