Digi
alle pijlers
Excel vraagje
maandag 17 april 2017 12:15
Ik ben best handig met excel, maar hier kom ik echt niet uit.
Ik heb een lijst gemaakt met verjaardagen, met een aantal kolommen.
Nu wil ik ook een tekst weergeven met de naam van de eerstvolgende jarige, maar excel leest in plaats van de eerstvolgende jarige uit de tabel, de persoon die het dichtst bij de huidige datum jarig is (dus ook wel eens iemand die net jarig is geweest).
Ik heb onderstaande formule om de naam die getoond moet worden te achterhalen, kolom A is de lijst met namen, kolom C is de kolom met wanneer die verjaardag dit jaar valt en eventueel is er nog een kolom met wanneer de eerstvolgende verjaardag is (D). Met kolom D ipv C is het resultaat een foutmelding, en het criteriumtype naar -1 veranderen werkt ook niet.
=INDEX(A2:A6;VERGELIJKEN(VANDAAG()+1;C2:C6;1))
Weet iemand raad?
Ik heb een lijst gemaakt met verjaardagen, met een aantal kolommen.
Nu wil ik ook een tekst weergeven met de naam van de eerstvolgende jarige, maar excel leest in plaats van de eerstvolgende jarige uit de tabel, de persoon die het dichtst bij de huidige datum jarig is (dus ook wel eens iemand die net jarig is geweest).
Ik heb onderstaande formule om de naam die getoond moet worden te achterhalen, kolom A is de lijst met namen, kolom C is de kolom met wanneer die verjaardag dit jaar valt en eventueel is er nog een kolom met wanneer de eerstvolgende verjaardag is (D). Met kolom D ipv C is het resultaat een foutmelding, en het criteriumtype naar -1 veranderen werkt ook niet.
=INDEX(A2:A6;VERGELIJKEN(VANDAAG()+1;C2:C6;1))
Weet iemand raad?
maandag 17 april 2017 12:20
maandag 17 april 2017 12:29
Het criteriumtype zou het probleem al moeten aanpakken (als de waarden van kolom C of D in oplopende volgorde zijn geplaatst zou -1 ervoor zorgen dat de eerste waarde die groter is dan vandaag wordt getoond). Maar als ik dat probeer komt er alsnog een foutmelding.
Ik kan kijken of jouw manier ook mogelijk is, maar het wordt sowieso een veel langere formule. Bedankt voor het meedenken iig!
Ik kan kijken of jouw manier ook mogelijk is, maar het wordt sowieso een veel langere formule. Bedankt voor het meedenken iig!
maandag 17 april 2017 13:45
Een extra kolom maken, kolom E bijvoorbeeld, met =als.fout(datumverschil(Vandaag();B1;"d");"jarig geweest"). Die geeft dan het aantal dagen tot iemand jarig is. Kolom B is dan de kolom met de data erin. Die naar beneden slepen tot iedereen de formule heeft.
vervolgens in de kolom waar je de naam wilt weergeven, =INDEX(A1:A6;VERGELIJKEN(MIN(E1:E6);E1:E6;0))
vervolgens in de kolom waar je de naam wilt weergeven, =INDEX(A1:A6;VERGELIJKEN(MIN(E1:E6);E1:E6;0))
maandag 17 april 2017 14:28
quote:Nyx- schreef op 17 april 2017 @ 12:29:
Het criteriumtype zou het probleem al moeten aanpakken (als de waarden van kolom C of D in oplopende volgorde zijn geplaatst zou -1 ervoor zorgen dat de eerste waarde die groter is dan vandaag wordt getoond). Maar als ik dat probeer komt er alsnog een foutmelding.
Bij criteriumtype -1 moeten de waarden in aflopende volgorde geplaatst worden. Op die manier kun je het doen.
Als je toch de data in oplopende volgorde wilt laten staan, dan werkt dit "ongeveer" :
=INDEX(A2:A6;VERGELIJKEN(VANDAAG()-1;C2:C6;1)+1)
(Je zoekt de meest recente verjaardag tot gisteren (VANDAAG() -1), en pakt dan de volgende verjaardag (je telt 1 op bij de uitkomst van 'VERGELIJKEN')
"Ongeveer", omdat het niet werkt de eerste verjaardag niet al geweest is; en het werkt ook niet na de laatste verjaardag. Dat kun je ook wel weer oplossen door extra waarden boven- en onderaan de lijst verjaardagen toe te voegen, maar heel elegant is het niet.
Het criteriumtype zou het probleem al moeten aanpakken (als de waarden van kolom C of D in oplopende volgorde zijn geplaatst zou -1 ervoor zorgen dat de eerste waarde die groter is dan vandaag wordt getoond). Maar als ik dat probeer komt er alsnog een foutmelding.
Bij criteriumtype -1 moeten de waarden in aflopende volgorde geplaatst worden. Op die manier kun je het doen.
Als je toch de data in oplopende volgorde wilt laten staan, dan werkt dit "ongeveer" :
=INDEX(A2:A6;VERGELIJKEN(VANDAAG()-1;C2:C6;1)+1)
(Je zoekt de meest recente verjaardag tot gisteren (VANDAAG() -1), en pakt dan de volgende verjaardag (je telt 1 op bij de uitkomst van 'VERGELIJKEN')
"Ongeveer", omdat het niet werkt de eerste verjaardag niet al geweest is; en het werkt ook niet na de laatste verjaardag. Dat kun je ook wel weer oplossen door extra waarden boven- en onderaan de lijst verjaardagen toe te voegen, maar heel elegant is het niet.