• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Dubbele namen controleren + aanpassen

Status
Niet open voor verdere reacties.

skystormer

Gebruiker
Lid geworden
8 mrt 2011
Berichten
200
Goedemorgen allen.

Ik vroeg mij af of een bepaald iets mogelijk is.
Ik wil een draaitabel maken om te controleren of bepaalde artikelen daadwerkelijk besteld worden aan de hand van geleverde forecasts. (en of deze forecasts ook daadwerkelijk kloppen)
Op het moment kijk ik alleen of forecasts afwijken tov de vorige. Nu wil ik dit uitbreiden met gegevens uit ons systeem.
Ik heb hierdoor een datadump van 2000+ regels waar maandelijks zo'n 1000 regels aan toegevoegd worden.
Het eerste issue waar ik tegenaanliep, dat artikelnamen (hier maak ik het draaitabel op, aangezien gebruikte artikelnummers heel erg kunnen afwijken) nogal eens kunnen afwijken. Vaak simpele dingen als gebruik van leestekens in namen of tikfouten. (hiervoor heb ik een macro opgenomen om zo een aantal maal ctrl-H uit te voeren.)

Echter loop ik tegen 1 punt waar ik niet uitkom.
Namelijk het probleem dat meerdere artikelen dezelfde naam kunnen hebben. Bij een draaitabel komen dan meerdere artikelen met dezelfde naam ook onder elkaar te staan. Waardoor deze niet meer te controleren is.
Zie bijlage.

Kolom B:
Indien hier forecast staat, dan zijn het gegevens aangeleverd van een klant.
Staat er iets anders, dan zijn dat gegevens uit ons systeem.

Ik vroeg mij af of het mogelijk is om:
Een standaardformule welke zoekt op als een artikelnaam reeds voorkomt in het overzicht dat dan de waarde uit kolom C hieraan samengevoegd dient te worden werkt niet. (aangezien artikelnummers dan nog steeds te erg kunnen verschillen van elkaar) Ook betreffen het gegevens welke voor een groot deel elke week worden overschreven, voornamelijk de gegevens uit ons eigen systeem.

Is het mogelijk om van een aantal vooraf bepaalde waarden (bijvoorbeeld als de celwaarde "Ring" is) gekeken wordt in de kolom ervoor en als daar dan de waarde "1289560-00" of "1289560" staat, dat dan de waarde in kolom D aangepast wordt naar "1289560-Ring"? (vanwege de afwijkingen in artikelnummering zie ik geen andere optie)

Geschat is dat ik dan ongeveer 30 keer zo'n voorwaarde hoef in te stellen. "Ring" komt bijvoorbeeld nog vaker voor onder nog meer verschillende artikelnummers.
Een voorbeeld van het draaitabel heb ik ook toegevoegd om een beeld te krijgen. Zoals aangegeven dat het om een groot aantal regels gaan, echter dit betreffen verschillende klanten. Een draaitabel wordt gemaakt per klant, waardoor de grootte van deze tabellen niet te groot en onoverzichtelijk zijn. Een klant kan echter wel hetzelfde artikelnaam gebruiken voor een verschillende product.


Als iemand een idee heeft. Ik ben zeer benieuwd. Dank voor de genomen tijd. En hoop dat het duidelijk is.
 

Bijlagen

Beste,

Ik zou het systeem zo aanpassen dat meerdere verschillende artikelen dezelfde naam kunnen hebben niettegenstaande het artikelnummer niet hetzelfde is. Ieder artikelnaam en -nummer moet uniek zijn, anders wordt het onoverzichtelijk.
 
Ik heb ik eerste instantie bij alle klanten gevraagd om alle nodige gegevens te vragen, echter na een maand wachten en herhalen heb ik ze nog niet allemaal. (het is iets wat ze niet moeten doen)
Vervolgens de logische stap is alles uit ons systeem halen, echter hier wordt niet alles ingezet.
Een forecastorder kunnen we 100% iets mee, wij zorgen dat we het op voorraad hebben liggen, echter als het al op voorraad ligt gebeurd er verder niets mee en is dus ook niet zichtbaar in ons systeem. (ik controleer het alleen elke week of er voorraadverschuivingen zijn of te verwachten zijn)
Afwijkingen in forecasts is ook niet zichtbaar (alleen de laatste aanpassing is zichtbaar, is wel terug te vinden, echter vanwege bovenstaande niet geen poging gedaan)
Artikelnummer is uniek.
Echter het artikelnummer zoals deze in ons systeem staat wijkt af zoals de klant deze in hun systeem heeft staan. (wijkt af in ongeveer 90% van de gevallen, dus kan ik niets mee)

Bijvoorbeeld artikel.
Ons artikelnummer:
4022.50006.5 (de laatste 5 in deze is een versie nummer)

Een klant besteld het volgende:
4022.50006 of
4022.500065
4022500065
4022 500065
4022 50006E
En nog meer mogelijkheden waarbij soms zelfs het artikelnummer geheel afwijkt.
Artikelnaam wijkt echter maar ongeveer in 5% van de gevallen uit.
Ik wil dus gegevens vergelijken uit 2 verschillende systemen van mijn bedrijf en de klant. Waarbij dus geen 100% unieke waarde is en dus uniek gemaakt moet worden. Artikelnummer is bijna 1 op 1 werk dus valt gelijk af. Artikelnaam is een eenmalige macro aktie die ik elke week dan kan uitvoeren, als ik nieuwe gegevens toevoeg.


Verdere toevoeging, wij maken artikelen per klant. 95% van hetgeen we maken, maken we alleen voor een bepaalde klant.
De gegevens heb ik al uitgesplitst per klant. (anders zou artikelnaam RING nog eens 40x voorkomen)
Ander voorbeeld wat ook nog eens voor kan komen.
Artikel A: zentrierring peek (naam bij klant), in ons systeem: Zentrierring.
Artikel B: Zentrierring (naam bij klant), in ons systeem: RING
Verder zijn er nog meerdere artikelen genaamd RING.
Dit dus vergelijken gaat lastig.
En namen aanpassen gaat ook niet, omdat de naam vaak door de klant zo is gegeven dat deze zo in ons systeem moeten heten.
 
Laatst bewerkt:
Je geeft aan dat naam vaak min of meer klopt, maar dat artikelnummer af kan wijken. Als ik naar de artikelnummers in het voorbeeld kijk dan valt die afwijking mee. Het is grotendeels formatting.

Ik zit dan ook te denken in de volgende richting. Ik weet niet of je er wat aan hebt.
Ik zou beginnen met het uniform maken van de opmaak. Dat kan d.m.v. de volgende formules:
Naam. Zet alle namen in hoofdletters:
Code:
=UPPER(D2)

Artikelnummer. Vervang punt, komma & spatie. Eventueel uit te breiden met andere varianten (denk aan slashes etc.)
Code:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C2;".";"");" ";"");"-";"")

Mogelijk kun je nu door naam en artikelnummer te combineren een betere match maken. Bv. door alleen te kijken of van de naam+artikel de eerste x karakters matchen (afkappen van de laatste y karakters). Dit kan met:
Code:
=LEFT(K2&L2;LEN(K2&L2)-2)
Ik ga er dan vanuit dat de eerste formule in kolom K staat, de tweede in kolom L en dat je de laatste 2 karakters af wilt kappen.

Ik hoop dat je hier iets mee kunt.
 
Beste,

Kan je de klanten niet op regelmatige tijdstippen een artikellijst bezorgen met een zoektool naar de artikelomschrijving? Zo kunnen zij het juiste artikelnummer selecteren en in een bestellijst plaatsen. Ik zou opteren voor een besteltool met artikelnummers en omschrijvingen van de leverancier (jij dus).
 
Helaas dat was mijn eerste opzet.
het gebruik van leestekens komt veel voor.
Echter het volgende kan voorkomen.

Artikelnummer bij ons volgens klant.
1224620-01
Mogelijkheden bij ons.
1224620-01
1224620.01
1224620-02
1224620.02
1224620
1224620.03
Die 2 en 3 op het eind kunnen komen dat klant nog met oud serienummer besteld maar wel de nieuwe bedoeld.

Ook gebruiken wij geen standaard artikelnummer opbouw.
De ene keer wordt geplitst met "-", dan met een puntje.
Of zelfs constructies als: 123-123-123.45

Daarnaast kan artikelnummer bij klant gebruikt worden als:
4022 262 44581
In ons systeem is dat dan weer: 4022.262.4458.1, dus ik zit dan meet heel veel verschillende mogelijke afwijkingen. En vrees ik dat ik de 25% alsnog handmatig zit aan te passen.
 
Beste,

Kan je de klanten niet op regelmatige tijdstippen een artikellijst bezorgen met een zoektool naar de artikelomschrijving? Zo kunnen zij het juiste artikelnummer selecteren en in een bestellijst plaatsen. Ik zou opteren voor een besteltool met artikelnummers en omschrijvingen van de leverancier (jij dus).



Klant bepaald in 90% van de gevallen de naam van de producten. Zijn vaak onderdelen voor grotere projecten. Zij zorgen zelfs voor de tekening hoe deze eruit moet komen zien. Waar dan ook de artikelnaam op staat. Echter vaak zetten zij het in een andere vorm in hun systeem.

Dit kunnen makkelijke fouten zijn, waarbij je duidelijk ziet dat het om een tikfout gaat. Of een aanvulling van het artikelnummer waaruit is op te maken waar het onderdeel voor bedoeld is.


95% van de producten die we maken zijn dan ook klantgebonden. Dus worden alleen voor die klant gemaakt. Dus een bestellijst maken heeft geen zin dan.
 
Laatst bewerkt:
Beste,

Ik heb jarenlange ervaring als magazijnverantwoordelijke in een school. Ik werd met dezelfde problemen geconfronteerd. De enige oplossing is : zorg voor een logische opbouw van de artikelnummers en zorg ervoor dat de "klant" NIET een niet correct artikelnummer kan invoeren! De klant moet zich aanpassen aan de leverancier en niet omgekeerd.
 
Laatst bewerkt:
Helaas dat was mijn eerste opzet.
het gebruik van leestekens komt veel voor.
Echter het volgende kan voorkomen.

Artikelnummer bij ons volgens klant.
1224620-01
Mogelijkheden bij ons.
1224620-01
1224620.01
1224620-02
1224620.02
1224620
1224620.03
Die 2 en 3 op het eind kunnen komen dat klant nog met oud serienummer besteld maar wel de nieuwe bedoeld.

Ook gebruiken wij geen standaard artikelnummer opbouw.
De ene keer wordt geplitst met "-", dan met een puntje.
Of zelfs constructies als: 123-123-123.45

Daarnaast kan artikelnummer bij klant gebruikt worden als:
4022 262 44581
In ons systeem is dat dan weer: 4022.262.4458.1, dus ik zit dan meet heel veel verschillende mogelijke afwijkingen. En vrees ik dat ik de 25% alsnog handmatig zit aan te passen.

Als je "mijn" oplossing gebruikt zul je zien dat de punten, komma's en spaties uitgefilterd worden. Vervolgens het versienummer afkappen (de laatste 2 karakters?)

1224620-01 --> 1224620
Mogelijkheden bij ons.
1224620-01 --> 1224620
1224620.01 --> 1224620
1224620-02 --> 1224620
1224620.02 --> 1224620
1224620 --> Hier moet dan nog iets slims worden verzonnen
1224620.03 --> 1224620

Dit is typisch waar de substitute goed werkt:
123-123-123.45 --> 12312312345
4022 262 44581 --> 402226244581
4022.262.4458.1 --> 402226244581
Etc.

Probeer maar eens wat het resultaat is.
 
Helaas is het een werkmanier die al jaren zo er in is gaan zitten. Ik kan alleen dit aangeven dat ik hier een aanpassing in zou willen zien bij een werkoverleg.
Ik ben al wel tikfouten aan onze zijde eruit aan het halen, en daar komt toch al wat meerwerk mee, omdat je ook de omschrijving op orders moet gaan aanpassen. En dan gaat het bijvoorbeeld om tikfouten als.
Aligment ipv alignment of Lekkage ipv leakage. Of artikelnaamverschillen omdat bijvoorbeeld bij de klant het aantal tekens in hun omschrijvingsveld kleiner is.
 
Geeft m.i. wel aan dat je je moet concentreren op de artikelcodes. Maar goed. Je kunt wellicht ook veelgemaakte typefouten opnemen in een tabel en dan met vlookup (vert.zoeken) doorlopen. Maar dan helpt het dus al wel als je alles naar hoofdletters omzet.

Bv.
Code:
LEKAGE  LEKKAGE
LEKKAGE  LEKKAGE
LEAKAGE  LEKKAGE
LEAKKAGE  LEKKAGE
 
Reactie op:
http://www.helpmij.nl/forum/showthr...en-aanpassen?p=5664027&viewfull=1#post5664027

Dag Peter B.
Ik heb even een steekproef gedaan:
Code:
Artikel bij klant:                                Bij ons
4022 186 55282                                4022.186.5528
4022 186 55932                                4022.186.5593.2
4022 186 60353                                4022.186.6035
4022 197 07171                                4022.197.07171
8700-80 A                                         8700-80
MD00D20785-02                                MD00D20785-02
00236-02-130-A                                00236-02-130-A
00385-00-281 B                                00385-00-281
4022 639 8315/1                               4022.639.8315
10100000169/04                               10100000169.4
4598.005.76411.00                           4598.005.76411.00
4522.131.53981.A                             4522.131.53981.A
4598-000-17751                               4598.000.17750 (Dit is geen tikfout)
4022-265-19111-A                            4022.265.19111

Ik verwacht dat ik 75% zou kunnen oplossen met substitute.
Ik denk dat ik even een risico-analyse moet uitvoeren.
rekening houdende dat als er op het eind .02 er geen .01 bestaat (niet meer actief is)
Zelfde voor .A (heb hier dan wel weer uitzonderingen op gevonden helaas :( )
 
Laatst bewerkt:
Vanwaar de 75%? Het substitute en afkappen op 2 karakters zou hier goed gaan o.b.v. alleen het artikelnummer. Ik ben helaas niet in de gelegenheid om een Excel voorbeeld te posten. Maar hierbij hoe het er uit ziet:
Code:
			Afkappen op y karakters	2
				
4022 186 55282	4022.186.5528	402218655282	40221865528	1
4022 186 55932	4022.186.5593.2	402218655932	402218655932	1
4022 186 60353	4022.186.6035	402218660353	40221866035	1
4022 197 07171	4022.197.07171	402219707171	402219707171	1
8700-80 A	8700-80	870080A	870080	1
MD00D20785-02	MD00D20785-02	MD00D2078502	MD00D2078502	1
00236-02-130-A	00236-02-130-A	0023602130A	0023602130A	1
00385-00-281 B	00385-00-281	0038500281B	0038500281	1
4022 639 8315/1	4022.639.8315	402263983151	40226398315	1
10100000169/04	10100000169.4	1010000016904	101000001694	1
4598.005.76411.00	4598.005.76411.00	45980057641100	45980057641100	1
4522.131.53981.A	4522.131.53981.A	452213153981A	452213153981A	1
4598-000-17751	4598.000.17750	459800017751	459800017750	1
4022-265-19111-A	4022.265.19111	402226519111A	402226519111	1

Waarbij in kolom A jouw kolom 1 staat, in kolom B jouw kolom 2. Vervolgens de substitute (uitgebreid met "/") voor beide kolommen (in C & D). En als laatste een search in kolom E met in cel E1 het aantal af te kappen karakters (in dit geval dus 2). Dit wordt weergegeven door een 1 (eerste karakter van de match).

Formule C3:
Code:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3;"/";"");".";"");" ";"");"-";"")
Formule E3:
Code:
=IFERROR(SEARCH(LEFT(C3;LEN(C3)-$E$1);D3);"Geen match")

Helaas wordt de formatting redelijk gesloopt, maar als je e.e.a. kopieert in Excel kun je er i.i.g. mee spelen.

Succes!
 
Laatst bewerkt:
Formattering boeit niet.
Onderdeel om hier een keer in het overleg mee te nemen dat overal het nummer gelijk is. (zelfde opbouw)
Voor nu een oplossing gevonden.
Bedankt Peter.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan