[EXCEL] veel categoriën aan nummers toewijzen

Pagina: 1
Acties:
  • 366 views sinds 30-01-2008
  • Reageer

  • Bld-
  • Registratie: Februari 2004
  • Laatst online: 20-07 16:27
Hallo,

Na meerdere pogingen en zoek acties ben ik benieuwd of hier misschien mensen zitten die een oplossing hebben voor het volgende:

Ik heb een grote lijst (+- 350 rijen) met nummers+bijbehorende (sub)categoriën. Deze zien er ongeveer zo uit (stukje uit de categorie lijst):

1010010 Sanitair Duravit
1010020 Sanitair Ideal Standard
1010035 Sanitair Keramag
1010038 Sanitair Laufen
1010040 Sanitair Plieger

De producten nummers zelf zijn nog wat langer, maar het gaat dus om de eerste paar cijfers.

We nemen als voorbeeld: 1010010
Nu stellen de eerste 3 cijfers (101) een hoofdcategorie voor, Sanitair producten
De eerste 7 cijfers (1010010) hiervan stellen het subcategorie voor, Sanitair Duravit.

Je voelt het misschien al aankomen, maar nu moet ik een formule maken, die kijkt naar het nummer en vervolgens in de 2 gelegen kolommen het hoofd+sub categorie neerzet.

Ik dacht natuurlijk meteen aan heel veels if's maken, maar dat gaat natuurlijk niet lukken.
Natuurlijk omdat je max maar 7 if's in 1 formule kunt doen, maar ook omdat het gewoon veels te veel is.
Nu heb ik geprobeer met VLOOKUP, maar dit lukt me ook niet echt. Ik krijg de waardes wel opgezocht, maar om ze vervolgens te "linken" met een van de 350 categoriën lukt me niet.

Wie kan mij helpen?

Alvast bedankt :)

[ Voor 13% gewijzigd door Bld- op 27-12-2006 11:29 . Reden: vraag duidelijker gemaakt ]


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Ik denk dat je toch aan een combinatie van vlookup() en links() resp. deel()

Max. aantal: gebruik wat (in productie verborgen) hulpkolommen.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • uashy
  • Registratie: Mei 2002
  • Laatst online: 05-02 20:32
Als ik je goed begrepen heb moet het met deze formule lukken:

code:
1
=VERT.ZOEKEN(DEEL(A1;1;3);G:H;2;ONWAAR)&" "&VERT.ZOEKEN(DEEL(A1;4;30);I:J;2;ONWAAR)


In kolom A heb ik het volledige productnummer gezet, in kolom B de formule. Voor het voorbeeldje ben ik er van uitgegaan dat de subcategorie op positie 4 t/m 30 van het productnummer staat. Eventueel kun je het nog flexibel maken door eerst de lengte van het productnummer te berekenen.

Indeling is verder:
kolom G: artikelcode voor de hoofdcategorie
kolom H: omschrijving voor de hoofdcategorie
kolom I: artikelcode voor de subcategorie
kolom J: omschrijving voor de subcategorie

Verder moet je er rekening mee houden dat de artikelcodes als tekst weergegeven moeten worden, anders vallen de voorloopnullen voor de subcategorie weg.

Hoop dat je er zo uit komt :)

[ Voor 10% gewijzigd door uashy op 27-12-2006 12:15 ]


  • Bld-
  • Registratie: Februari 2004
  • Laatst online: 20-07 16:27
uashy schreef op woensdag 27 december 2006 @ 12:13:
Als ik je goed begrepen heb moet het met deze formule lukken:

code:
1
=VERT.ZOEKEN(DEEL(A1;1;3);G:H;2;ONWAAR)&" "&VERT.ZOEKEN(DEEL(A1;4;30);I:J;2;ONWAAR)


In kolom A heb ik het volledige productnummer gezet, in kolom B de formule. Voor het voorbeeldje ben ik er van uitgegaan dat de subcategorie op positie 4 t/m 30 van het productnummer staat. Eventueel kun je het nog flexibel maken door eerst de lengte van het productnummer te berekenen.

Indeling is verder:
kolom G: artikelcode voor de hoofdcategorie
kolom H: omschrijving voor de hoofdcategorie
kolom I: artikelcode voor de subcategorie
kolom J: omschrijving voor de subcategorie

Verder moet je er rekening mee houden dat de artikelcodes als tekst weergegeven moeten worden, anders vallen de voorloopnullen voor de subcategorie weg.

Hoop dat je er zo uit komt :)
Ik heb het bovenstaande helemaal uitgewerkt en ingevoerd in een nieuwe lege werkblad, maar ik krijg een foutmelding die verwijst naar onderstreepte gedeelte:

=VERT.ZOEKEN(DEEL(A1;1;3);G:H;2;ONWAAR)&" "&VERT.ZOEKEN(DEEL(A1;4;30);I:J;2;ONWAAR)

de formule kijkt dus naar text, maar er staan nummers in kolom A.
Ik heb die kolom ook al de opmaak Tekst gegeven, maar dit hielp ook niet.


[EDIT]
Ik heb de Engelse versie Excel en ik zie dat ik komma's moet gebruiken ipv punt komma's...
toch krijg ik nog een foutmelding.
Ik heb de volgende formule ingevoerd en gedeeltelijk aangepast:

code:
1
=VLOOKUP(MID(A1,1,3),G:G,H:H,2)&" "&VLOOKUP(MID(A1,4,30),I:I,J:J,2)

Als uitkomst krijg ik nu #N/A, vreemd, want volgens mij zou hij zo wel moeten werken.

[ Voor 13% gewijzigd door Bld- op 27-12-2006 13:03 ]


  • uashy
  • Registratie: Mei 2002
  • Laatst online: 05-02 20:32
Probeer dit eens:

code:
1
=VERT.ZOEKEN(WAARDE(DEEL(A1;1;3));G:H;2;ONWAAR)&" "&VERT.ZOEKEN(DEEL(A1;4;30);I:J;2;ONWAAR)


Waarbij kolom A en G ingesteld zijn als numeriek en alleen kolom I (subcategorie) als tekst staat ingesteld (met ' voor de code).

De formule waarde() zet het de uitkomst van deel() om naar een getal zodat de functie vert.zoeken ook iets vindt. Standaard is de uitkomst van de deel() formule namelijk tekst en geen getal.

  • Bld-
  • Registratie: Februari 2004
  • Laatst online: 20-07 16:27
Het is gelukt!
Ik heb de formule wel nog iets aangepast, namelijk:

(in principe werkt hij bijna hetzelfde als de eerste formule die je gepost had)
code:
1
=VLOOKUP(LEFT(A1,3)*1,G:H,2)


Ik hoefde namelijk de subcategoriën niet in dezelfde kolom als de hoofdcategorie te hebben.

Bedankt! _/-\o_

  • uashy
  • Registratie: Mei 2002
  • Laatst online: 05-02 20:32
Mooi dat het werkt! Je kunt het inderdaad ook met 1 vermenigvuldigen om het naar waardes om te zetten :)
Pagina: 1