martindes Posted February 21, 2014 Posted February 21, 2014 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. Quote
0 Felix Posted February 21, 2014 Posted February 21, 2014 (edited) . Edited October 4, 2015 by Guest Quote
0 Infomatics Posted February 22, 2014 Posted February 22, 2014 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") Quote
0 martindes Posted February 24, 2014 Author Posted February 24, 2014 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. Quote
0 Felix Posted February 24, 2014 Posted February 24, 2014 (edited) . Edited October 4, 2015 by Guest Quote
0 martindes Posted February 28, 2014 Author Posted February 28, 2014 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 Quote
0 Infomatics Posted February 28, 2014 Posted February 28, 2014 Ik zou dat doen met een aparte tabel met daarin een veld met variaties en de gewenste waarde en dan met een lookup de gewenste waarde laten ophalen op basis van de variatie zie voorbeeld. Groet, Ruben variaties.fmp12 Quote
0 martindes Posted March 1, 2014 Author Posted March 1, 2014 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. Quote
0 rmw Posted March 1, 2014 Posted March 1, 2014 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 Quote
0 martindes Posted March 2, 2014 Author Posted March 2, 2014 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"? Quote
0 martindes Posted March 3, 2014 Author Posted March 3, 2014 @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. Quote
0 martindes Posted March 4, 2014 Author Posted March 4, 2014 Volgorde omkeren Dat werkt. Bedankt. Quote
Question
martindes
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.