[Excel] Unieke waarde naar volgende rij

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • TheFruitNerd
  • Registratie: April 2000
  • Laatst online: 11-05 16:39

TheFruitNerd

iets met fruit

Topicstarter
Beste medetweakers, ik zit even in een tunnel en hoop dat jullie kunnen helpen.

Context
Het Excel bestand (Office 365) waar ik mee loop te stoeien bevat een kolom met unieke nummers.
Achter het unieke nummer staan een start- en eind waarde. Het overzicht met unieke nummers wordt regelmatig geupdate (er onder geplakt) en de kolom mutatie wordt handmatig ingevuld. Dat betekent dat de unieke nummers meerdere keren in de lijst voor komen en dus ook toegevoegd blijven worden.

Afbeeldingslocatie: https://tweakers.net/i/1oDGTYZ7j44__uZFzFmg6_WkQ9k=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/oND4iDZKDBXzVfed12uPIduR.jpg?f=user_large

Wat is er nodig
Ik zoek een formule / oplossing waarbij in de kolom Start altijd de vorige waarde van het betreffende unieke nummer uit kolom Eind gehaald wordt. Bijvoorbeeld; 123001 eindigt in rij 2 met 23. Deze waarde moet in rij 3 op positie start komen. Vervolgens moet rij 8 beginnen met de waarde uit rij 3; etc.

Volgens mij hoeft dit niet al te moeilijk te zijn, maar zoals gezegd zit ik even vast.
Met o.a. INDEX kom ik er niet uit.

Hoe zouden jullie dit aanpakken?

- B.L.A.A.T. -

Beste antwoord (via TheFruitNerd op 11-07-2024 10:47)


  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 00:23

g0tanks

Moderator CSA
XLOOKUP met het laatste argument op -1 zodat er van onder naar boven wordt gezocht.

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

code:
1
=XLOOKUP(A8,A$1:A7,D$1:D7,0,0,-1)

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

Alle reacties


Acties:
  • 0 Henk 'm!

  • Sparhawk
  • Registratie: Maart 2001
  • Laatst online: 23:32

Sparhawk

Can bind minds with his spoon

Je kan toch ook alle mutaties die bij 123001 horen, optellen? Dus met sum.if (met als voorwaarde kolom A=123001), alle mutaties bij elkaar optellen (in dit geval dus 1 +16). Dat optellen bij de intiele waarde, en dan ben je er. Dan weet je wat er al start geschreven moet worden...

Wil iedereen die in telekinese gelooft mijn hand opheffen a.u.b.


Acties:
  • 0 Henk 'm!

  • TheFruitNerd
  • Registratie: April 2000
  • Laatst online: 11-05 16:39

TheFruitNerd

iets met fruit

Topicstarter
Sparhawk schreef op donderdag 11 juli 2024 @ 10:12:
Je kan toch ook alle mutaties die bij 123001 horen, optellen? Dus met sum.if (met als voorwaarde kolom A=123001), alle mutaties bij elkaar optellen (in dit geval dus 1 +16). Dat optellen bij de intiele waarde, en dan ben je er. Dan weet je wat er al start geschreven moet worden...
Dat zou inderdaad een oplossing kunnen zijn, maar hoe definieer je de initiële waarde?
In het voorbeeld start 123001 toevallig op rij 2, maar 123006 start bijvoorbeeld op rij 5.

Ik sluit niet uit dat ik te moeilijk denk hoor :9

- B.L.A.A.T. -


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

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 00:23

g0tanks

Moderator CSA
XLOOKUP met het laatste argument op -1 zodat er van onder naar boven wordt gezocht.

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

code:
1
=XLOOKUP(A8,A$1:A7,D$1:D7,0,0,-1)

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


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Typ in B3 en kopieer naar beneden:
code:
1
=ALS(AANTAL.ALS(A$2:A3;A3)<2;"";INDEX(D$1:$D2;VERGELIJKEN(A3;ALS(RIJEN(A$1:A2)<RIJ(A3);A$1:A2;0))))

De nummers in kolom A waarbij in kolom B dan niets verschijnt, zijn uniek. Daarbij kan er in kolom B niet naar vorige waarden worden teruggegrepen en daarin moet je de formule wissen en manueel een getal invullen.

Acties:
  • +1 Henk 'm!

  • TheInsomniac
  • Registratie: Februari 2003
  • Niet online
Ik denk dat @Sparhawk het volgende bedoelt (werkt vanaf regel B3 in jouw sheet):
=IF(SUMIF(A$2:A2,A3,C$2:C2)=0,1,SUMIF(A$2:A2,A3,C$2:C2)+1)
g0tanks schreef op donderdag 11 juli 2024 @ 10:41:
XLOOKUP met het laatste argument op -1 zodat er van onder naar boven wordt gezocht.

[Afbeelding]

code:
1
=XLOOKUP(A8,$A1:A7,$D1:D7,0,0,-1)
Deze vind ik persoonlijk het netste

[ Voor 63% gewijzigd door TheInsomniac op 11-07-2024 10:47 ]

Make it fool proof and someone will make a better fool.


Acties:
  • 0 Henk 'm!

  • TheFruitNerd
  • Registratie: April 2000
  • Laatst online: 11-05 16:39

TheFruitNerd

iets met fruit

Topicstarter
g0tanks schreef op donderdag 11 juli 2024 @ 10:41:
XLOOKUP met het laatste argument op -1 zodat er van onder naar boven wordt gezocht.

[Afbeelding]

code:
1
=XLOOKUP(A8,$A1:A7,$D1:D7,0,0,-1)
Merci! Kort maar krachtig.

- B.L.A.A.T. -


Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 00:23

g0tanks

Moderator CSA
Kleine toevoeging: zie dat ik per ongeluk kolom had vastgezet in plaats van de regel. Het moet zijn:
code:
1
=XLOOKUP(A8,A$1:A7,D$1:D7,0,0,-1)

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

Pagina: 1