Toon posts:

Excel: Referentie nummer vullen

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedemiddag,
Ik heb een exel bestand met twee tabladen.
in tabblad1 kan er een aantal ingevuld worden in de D kolom in kolom C verschijnt dan een referentie nummer *(deze nummers staan in een ander tabblad)
de formule die ik hier voor gebruik is =ALS(D2<>"";referentie!B2;) Dit werkt prima alleen het komt ook wel een voor dat er regels tussen zitten waar geen aantallen op vallen die dag.
Het bestand waar ik het in wil gebruiken heeft =/-270 regels. Als er dan geen aantallen zijn tussen regel 10 en 200 en dan weer bij 201 dan gooi je die dag veel referentie nummers weg / die gebruik je dan niet.
Is er een formule waardoor je steeds het eerst volgende nog niet gebruikte referentie nummer gebruikt?
*(dit mag met een formule maar een macro is ook goed) Ik kom er in vedergeval niet uit...
Hopelijk kan iemand mij verder helpen.


Groetjes, Jochem

Alle reacties


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Hoe zien de referentienummers in het blad 'referentie' er uit ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedenavond,
de referentie nummers worden ge creëert door in B1 een nummer in te geven met minimaal 7 cijfers en dit steeds met 1 op te hogen , dit mag ook anders maar het moet minimaal uit 7 cijfers bestaan.
Bijvoorbeeld 0000000 staat in B1 en dan in B2 00000001 en B3 00000002 en zo voort.
Gr, Jochem

Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Zijn de referentienummers in blad1 afhankelijk van die in het blad Referentie, of mag er in blad1 een zelf gekozen (opeenvolgende) nummering worden gekozen?
Wat in blad1 in kolom D staat, is dat ook afkomstig uit het blad 'Referentie'?
Wat je bedoelt met 'aantallen die wel of niet vallen op een dag' is ook onduidelijk.

Acties:
  • 0 Henk 'm!

  • GRDavies75
  • Registratie: December 2014
  • Laatst online: 14:42

GRDavies75

PSN-id: GRDavies

dix-neuf schreef op maandag 21 januari 2019 @ 04:28:
Wat je bedoelt met 'aantallen die wel of niet vallen op een dag' is ook onduidelijk.
Het is een beetje cryptisch omschreven, maar vanwege z'n verwijzing naar het Referentieblad, slaat hij referentienummer over als er een Aantal niet is ingevuld op een bepaalde regel
Bijvoorbeeld regel 1 heeft x aantallen, dan krijgt hij 0000001, regel 2 niet, regel 3 heeft y aantallen dan krijgt hij referentie 0000003 en gezien z'n vraag had hij graag 0000002 gezien. Althans als ik een beetje begrijpend lees.

Ik zou niet weten hoe je met formules kan afdwingen dat de formules mits eenmaal ingevuld niet meer de waardes aanpast, althans ik neem aan dat dat niet moet gebeuren. Het probleem is eigenlijk dat de orders in bepaalde volgorde worden ingevuld.

Daarnaast vind ik de kwestie van voorloopnullen een extra uitdaging gezien het standaardgedrag van Excel (natuurlijk kan je met Waarde() & Tekst() daar weer omheen werken).

Persoonlijk zou ik de werkwijze ietwat wijzigen:
  • De voorloopnullen-kwestie mag niet voorkomen, dus het referentienummer mag niet beginnen met een 0
  • Ik zou niet ook de verwijzing gebruiken, maar in de formule het 'basisgetal' van de referentie gebruiken en die ophogen
  • Het moet geen probleem zijn dat het 'Order-werkblad' qua volgorde mag worden aangepast
Stel je dat het referentienummer verwijst naar het ordernummer van dat jaar (= basisgetal 2019000)
Dan zou ik in C2 invullen
code:
1
=ALS(ISGETAL(D2);2019000+RIJ()-1;"")


Enige 'prijs' die je moet betalen is dat je jezelf moet aanleren na het invullen van elke order moet je het blad een keer sorteren (dit garandeert het onthouden van de volgorde )

Maar ja, zo zou ik het aanpakken en anders ben ik wel benieuwd wat het precieze probleem is van de 'ontbrekende' referentienummers ;)

[ Voor 0% gewijzigd door GRDavies75 op 21-01-2019 10:47 . Reden: het verschil tussen wel of niet gebruiken van het woord 'niet' is van wezenlijk belang :) ]


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Niet alleen cryptisch, het ziet er ook uit als bad practise. Een referentiegetal mag niet kunnen wijzigen en dus mag het ook geen verwijzing zijn of iets wat kan wijzigen bij een herberekening, een sorteeraktie of een verwijdering. Kortom: als je het automatisch wilt genereren zal dat met een macro moeten die eenmalig een veld vult met een vaste waarde.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedemorgen,
Het is een bestand om aantallen in een TMS systeem te importeren en te kunnen update aan de hand van de referenties de referentie moet inderdaad uniek zijn en blijven. Gedurende de dag komen er aantallen / orders bij waardoor regels die in het begin van de dag leeg zijn dan lopende dag wel gevuld gaan worden.
Kent iemand een Macro die een referentie nummer kan genereren als er een aantal staat? de nullen zijn niet verplicht het nummer moet alleen uit minimaal 7 cijfers bestaan. Hopelijk is het zo wat duidelijker... ik zou graag het bestand toevoegen maar dat kan niet voor zo ver ik kan vinden.
Het probleem van de ontbrekende referentie nummers is dat de nummers dan heel erg hard gaan, we lezen deze nummers dagelijks in en als we dan elke dag 200 nummers overslaan dan hebben we in no time nog langere referentie nummers dan die we nu al hebben.

Bedankt voor alle hulp!

Acties:
  • +1 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Een bestand is op eigen opslagruimte te plaatsen en hier een link te plaatsen - maar doe dat liever niet. Velen, waaronder ik, zijn uit veiligheidsoverwegingen niet bereid om dergelijke bestanden van 'willekeurige mensen op internet' te openen. Zeker niet als er macro's in gaan staan.

Inhoudelijk:
Je wilt referentienummers echt niet dynamisch maken. Dus inderdaad bijv. met een macro eenmalig dat nummer 'claimen'. Of toch iedere regel een ref.nr. geven. 50 jaar lang, 365 dagen per dag, 400 per dag is 7300000 nummers. 7 cijfers.

Voorloopnullen weergeven is in Excel trouwens simpel te doen via celeigenschappen en dan bijv. opmaak 00000000. Dan wordt het getal 1 weergegeven als 00000001.

Macro: in een loopje alle regels af, kijk of wordt voldaan aan de vereiste van krijgen van een ref.nr. en of er niet al een ref.nr. staat, plaats het eerstvolgende beschikbare ref.nr., volgende regel. We denken graag mee als je code hebt, maar andermans code overnemen zonder het te begrijpen zou je niet moeten willen.

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


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Antwoorden van F_J_K (voorloopnullen) en GRDavies75 (nummering, maar opeenvolgend ook als lege cellen in kolom C voorkomen) gecombineerd. Ik ben er echter nog steeds niet zeker van of dit de oplossing is die de vragensteller zoekt.

- Stel de eigenschappen van de cellen in kolom C in als "Aangepast" -> type: 0000000
- Typ in C1: 0 (daar wordt dan automatisch 0000000 van gemaakt).
- Typ in C2 en kopieer naar beneden in kolom C:
code:
1
=ALS(D2="";"";WAARDE(MAX(C$1:C1)+1))
Als die formule een foutmelding geeft, moet je WAARDE vervangen door GETAL of door NUMERIEKE.WAARDE (dit is afhankelijk van de Excel én Windowsversie die je gebruikt).

Acties:
  • 0 Henk 'm!

  • GRDavies75
  • Registratie: December 2014
  • Laatst online: 14:42

GRDavies75

PSN-id: GRDavies

[b]F_J_K in "Excel: Referentie nummer vullen"

Voorloopnullen weergeven is in Excel trouwens simpel te doen via celeigenschappen en dan bijv. opmaak 00000000. Dan wordt het getal 1 weergegeven als 00000001.
Bedankt, zo zie je maar dat je nooit te oud bent om te leren :)

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

dix-neuf schreef op maandag 21 januari 2019 @ 12:31:
Antwoorden van F_J_K (voorloopnullen) en GRDavies75 (nummering, maar opeenvolgend ook als lege cellen in kolom C voorkomen) gecombineerd. Ik ben er echter nog steeds niet zeker van of dit de oplossing is die de vragensteller zoekt.

- Stel de eigenschappen van de cellen in kolom C in als "Aangepast" -> type: 0000000
- Typ in C1: 0 (daar wordt dan automatisch 0000000 van gemaakt).
- Typ in C2 en kopieer naar beneden in kolom C:
code:
1
=ALS(D2="";"";WAARDE(MAX(C$1:C1)+1))
Als die formule een foutmelding geeft, moet je WAARDE vervangen door GETAL of door NUMERIEKE.WAARDE (dit is afhankelijk van de Excel én Windowsversie die je gebruikt).
Dit is killing: verander je iets in sortering of wordt een regel weggehaald dan veranderen andere referentiewaarden ook. Lustucru in "Excel: Referentie nummer vullen" en F_J_K in "Excel: Referentie nummer vullen" : referentienummers zijn statische gegevens.

On topic: een macro zou wel ongeveer die werkwijze volgen. Laat hem triggeren bij het wijzigen van cel D, controleer de inhoud van cellen C en D, bepaal het laatst gebruikte referentienummer, verhoog dat met 1 en schrijf dat weg in C.

[ Voor 9% gewijzigd door Lustucru op 21-01-2019 13:52 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1