Excel automatisch nummer genereren met voorwaarden

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Zorro97
  • Registratie: Januari 2021
  • Laatst online: 28-10-2022
Beste Tweakers,

Bij deze wil ik graag jullie hulp inschakelen om een vraagstuk op te lossen waar ik al een tijdje mee aan het stoeien ben. Lang verhaal, maar ik hoop jullie het duidelijk te maken...

In Excel heb ik een tabel gemaakt waarin wijzigingen aan een bepaald product worden bijgehouden. Elke wijziging krijgt een eigen nummer toegekend. Deze is als volgt opgebouwd:[afkorting jaartal].[# wijziging dat jaar]. Bijvoorbeeld wijziging 5 in 2020 ziet eruit als: 20.105.
Dit wordt +100 gedaan om er altijd een getal van te maken van 5 cijfers. Hieronder een voorbeeld van een enkel jaar wat wel goed gaat. In cel A3 de formule die gebruikt wordt.

Afbeeldingslocatie: https://tweakers.net/i/OSqZjm3e76JG_4xGlGoyuIZ8NG0=/800x/filters:strip_exif()/f/image/no1o6z1pWGn7d5PgGi6ic28j.png?f=fotoalbum_large

Het probleem waar ik tegenaan loop is dat wanneer het jaartal veranderd, de nummering 'opnieuw' moet beginnen. Dus de eerste wijziging van 2021 zal moeten zijn: 21.101
Dit wil ik graag automatiseren middels een formule en niet met een macro. De tabel wordt gebruikt als soort 'database' waar de wijziging in wordt opgeslagen en vervolgens het nieuw gegenereerde nummer wordt teruggestuurd naar een andere Excel file.

Ik heb al e.e.a. geprobeerd met de functie: 'AGGREGAAT'. Hiermee wordt de grootste waarde gezocht a.d.h.v. een bepaalde voorwaarde (bijv. grootste waarde van 2020). Hiermee wordt als het ware 'MAX.ALS' gesimuleerd. Vervolgens wou ik deze grootste waarde +1 doen om het nieuwe nummer te genereren voor dat jaar. Hieronder is echter te zien dat er nog wat obstakels zijn.

Afbeeldingslocatie: https://tweakers.net/i/iZ8RG_SwQ3_jZ9oCN8ZP4-37PMM=/800x/filters:strip_exif()/f/image/1xLFdWw2K3g6sF70Rsv4f5vq.png?f=fotoalbum_large

Wellicht denk ik veel te moeilijk, zit ik op een verkeerd spoor en is er een makkelijkere uitweg...
Er wordt gebruik gemaakt van Excel 2010.

Ik laat me graag inspireren door jullie wijsheid.

Beste antwoord (via Zorro97 op 07-01-2021 13:03)


  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 20:16

g0tanks

Moderator CSA
Ik zou met ALS() kijken of het jaar in de vorige rij gelijk is aan de huidige rij. Als dat zo is tel je +1 op bij het vorige wijzigingsnummer, anders pak je het jaar & 101.

Afbeeldingslocatie: https://tweakers.net/i/M4iZjZxkwCGVsiFT8eav0Q1EwXs=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/0UkMbvfyzHrpzaPj0yphyD1s.png?f=user_large

De punt die je ziet in mijn voorbeeld is trouwens puur opmaak (de thousand separator). En ik ga er vanuit dat de data altijd netjes gesorteerd is per jaar.

[ Voor 17% gewijzigd door g0tanks op 06-01-2021 17:34 ]

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW

Alle reacties


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 20:16

g0tanks

Moderator CSA
Ik zou met ALS() kijken of het jaar in de vorige rij gelijk is aan de huidige rij. Als dat zo is tel je +1 op bij het vorige wijzigingsnummer, anders pak je het jaar & 101.

Afbeeldingslocatie: https://tweakers.net/i/M4iZjZxkwCGVsiFT8eav0Q1EwXs=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/0UkMbvfyzHrpzaPj0yphyD1s.png?f=user_large

De punt die je ziet in mijn voorbeeld is trouwens puur opmaak (de thousand separator). En ik ga er vanuit dat de data altijd netjes gesorteerd is per jaar.

[ Voor 17% gewijzigd door g0tanks op 06-01-2021 17:34 ]

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Djordjo
  • Registratie: Mei 2007
  • Niet online
Lijkt me handiger om de afkorting jaartal en volgnummer in aparte kolommen te zetten. Dan kan je met MAX.ALS het nieuwe volgnummer berekenen. En dan vervolgens combineren tot wijzigingsnummer.

Acties:
  • 0 Henk 'm!

  • Zorro97
  • Registratie: Januari 2021
  • Laatst online: 28-10-2022
@g0tanks

Hartelijk dank! Zo had ik er nog niet over nagedacht.
De data is inderdaad altijd op chronologische volgorde en daardoor zal er op deze wijze weinig fout gaan.