[Excel] Laatst ingevoerde waarde opzoeken*

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

Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
hallo,

Ik heb een tabel met datums waar elke week een waarde wordt ingevoerd. Dus elke keer in een andere cel met een andere code(b.v a4 of b4)
Maar ik heb werkblad die een overzicht moet geven van actuele waardes. Maar welke functie kan ik gebruiken om de laatste ingevoerde waarde zichtbaar te laten worden op het overzicht

B.v.d.

Acties:
  • 0 Henk 'm!

  • pven
  • Registratie: Oktober 1999
  • Niet online
Maar ik snap niet wat je bedoelt. Maar kan je aub wat meer informatie en details geven? :?

|| Marktplaats-meuk. Afdingen mag! ;-) || slotje.com for sale || Dank pven! ||


Acties:
  • 0 Henk 'm!

  • Arethusa
  • Registratie: December 2003
  • Laatst online: 07-10 11:36

Arethusa

Niet die server

Als ik het goed lees wil hij de laatst ingevoerde waarde in een rij of kolom op een ander werkblad tonen. Misschien kun je het een en ander verduidelijken met tekst en/of een afbeelding?

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
ik heb een tabel met waardes zal een voorbeeld geven.

Datum 09-11-07 16-11-07 23-11-07 30-11-07
waarde ___1______ 1______ 2_______ -

Het laatste ingevulde getal is 2 en die wil ik op een ander werkblad in een cel laten zien, en als ik dan de volgende week het getal 3 is dat die dan wordt weergegeven

[ Voor 3% gewijzigd door martini1 op 23-11-2007 21:54 ]


Acties:
  • 0 Henk 'm!

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Weet zo in 1-2-3 geen volledige formule uit m'n hoofd te toveren maar ik kan je alvast wel zeggen dat je dan onder andere aan de slag moet met vert.zoeken en horiz.zoeken.

Die in combo met if en wat date-functies will do the trick.

Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
ik zal het een en ander proberen thnx

Acties:
  • 0 Henk 'm!

Verwijderd

Heel simpel. Stel, Ax bevat de meest recente datum (en Bx de waarde). Dan is de formule:

{=sum(if(A:A=max(A:A),B:B))}

[ Voor 5% gewijzigd door Verwijderd op 24-11-2007 13:18 . Reden: Klein foutje in formule (A:A= toegevoegd) ]


Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 20:27
misschien handig erbij te zeggen dat dit een matrixformule is. Die ook niet ingevulde waardes in kolom b meepakt.
beter lijkt me iets als (uit het hoofd):
=hlookup(max(if(B:B="",A:A,""));A:B;2;FALSE)
En ook dit is een matrixformule. (Invoeren met CTRL-SHIFT-ENTER)

Acties:
  • 0 Henk 'm!

Verwijderd

onkl schreef op zaterdag 24 november 2007 @ 02:54:
misschien handig erbij te zeggen dat dit een matrixformule is. Die ook niet ingevulde waardes in kolom b meepakt.
beter lijkt me iets als (uit het hoofd):
=hlookup(max(if(B:B="",A:A,""));A:B;2;FALSE)
Hoezo? (willekeurig getal) is toch > ""? Dus worden er geen "niet ingevulde waardes in kolom b meegepakt".

Jou formule zoekt 2x. MAX() heeft de rij met het maximum al op TRUE gezet, en HLOOKUP gaat deze rij opnieuw zoeken.

Functies als HLOOKUP zijn in feite ook overbodig. Met de volgende functies kun je in principe alle problemen in Excel oplossen:

Sum, Average, Count, Min, Max, If.

(Merk op: met het laatste bedoel ik natuurlijk alle data-analyses, als je bijv. de sinus van 0,5 wil weten kan dat natuurlijk niet met bovenstaande functies).

[ Voor 53% gewijzigd door Verwijderd op 24-11-2007 13:31 ]


Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
maar het is niet een maximale waarde de getallen kunnen de ene week omhoog zijn gegaan en de andere week omlaag

Acties:
  • 0 Henk 'm!

  • CoRrRan
  • Registratie: Juli 2000
  • Laatst online: 24-06 09:35

CoRrRan

Don't Panic!!!

martini1 schreef op zaterdag 24 november 2007 @ 15:34:
maar het is niet een maximale waarde de getallen kunnen de ene week omhoog zijn gegaan en de andere week omlaag
Verwijderd schreef op vrijdag 23 november 2007 @ 22:31:
Heel simpel. Stel, Ax bevat de meest recente datum (en Bx de waarde). Dan is de formule:

{=sum(if(A:A=max(A:A),B:B))}
De formule zoals grizzlybeer geeft, zal in kolom "A" zoeken naar de meest recente datum. Als die gevonden is, zoekt hij in kolom "B" de bijbehorende waarde. Voor het zoeken naar de meeste recente datum, kun je eenvoudig de MAX-functie gebruiken, aangezien een datum in Excel intern vertegenwoordigd wordt door een getal.

Tevens kun je "A:A" en "B:B" vervangen door "1:1" en "2:2" respectievelijk als je de waarden in rijen hebt staan ipv. in kolommen. Je kunt het zelfs vervangen door kleinere ranges. (Bijv. "A1:A4" en "B1:B4" resp.)

-- == Alta Alatis Patent == --


Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
oke zal eens gaan proberen
maakt het nog uit dat ik de nederlandse excel 2007 heb
rij 17 heb ik de datums
en rij 18 de waardes maar ik kom er niet uit, nu heb ik dit
{=sum(if(A:A=max(17:17),18:18))}
en met ctrl+shift+enter doet niets

[ Voor 101% gewijzigd door martini1 op 24-11-2007 18:07 ]


Acties:
  • 0 Henk 'm!

Verwijderd

martini1 schreef op zaterdag 24 november 2007 @ 18:00:
oke zal eens gaan proberen
maakt het nog uit dat ik de nederlandse excel 2007 heb
rij 17 heb ik de datums
en rij 18 de waardes maar ik kom er niet uit, nu heb ik dit
{=sum(if(A:A=max(17:17),18:18))}
en met ctrl+shift+enter doet niets
Logischer om in kolommen te werken, maar goed....

In geval van rijen wordt de formule (logischerwijs):

{=sum(if(A17:FF17=max(A17:FF17),A18:FF18))}

(FF als voorbeeld, ik weet niet hoe ver je wil gaan)

En als je een Nederlandse Excel versie hebt dan zal je de Engelse termen in de formule (dus sum, if en max) moeten gaan vertalen. Ik gebruik zelf geen Nederlandse versie, ik heb dus geen flauw idee hoe MS dit vertaald heeft.

[ Voor 16% gewijzigd door Verwijderd op 24-11-2007 18:23 ]


Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
heb dit =SOM(ALS(C17:FF17=MAX(C17:FF17);C18:FF18))
maar er komt nul uit
http://img215.imageshack.us/img215/364/vraagnb9.jpg
Afbeeldingslocatie: http://img215.imageshack.us/img215/364/vraagnb9.th.jpg

[ Voor 57% gewijzigd door martini1 op 24-11-2007 19:12 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Je moet na het intikken van de formule <ctrl-shift-enter> doen.

Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
Verwijderd schreef op zaterdag 24 november 2007 @ 19:12:
Je moet na het intikken van de formule <ctrl-shift-enter> doen.
maar dan zie ik geen uitkomst

Acties:
  • 0 Henk 'm!

Verwijderd

Wat zie je dan exact (0 is namelijk wel een uitkomst)?

Acties:
  • 0 Henk 'm!

Verwijderd

Doet het echt hoor:

Afbeeldingslocatie: http://tweakers.net/ext/f/a06981c23bc04151fafde82b25ac214c/full.png

O, en sorry, ik zag net dat ik thuis toch een NL Excel versie heb :+

Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
ik zal eens goed kijken
thnx

Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
ik heb excel 2007 en hij vindt de koma tussen H17),C18 niet goed, nu rekent hij zonder C18H18 mee. wat moet daarvoor in de plaats

Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
;

Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
heb ik gedaan maar dan rekent hij en komt hij uit op #waarde!
als ik dan evalueer ligt de fout op
=SOM(ALS(C17:H17=MAX(C17:H17);C18:H18))

Acties:
  • 0 Henk 'm!

Verwijderd

Ik weet niet wat jij in Windows ingesteld heb voor lijstscheidingsteken. Ik i.i.g. ",".

Edit: sorry, ik doe de aanname dat jij Windows gebruikt. Aangezien dit niet zo hoeft te zijn, kan het zijn dat mijn bovenstaande antwoord niet geldig is.

[ Voor 48% gewijzigd door Verwijderd op 24-11-2007 20:05 ]


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

nofi, maar wat ik snap er geen hout van wat hier moeilijk wordt gedaan met som, als, max en dan ook nog matrixformules. Zo te zien zoek je iets wat meestal met dynamic ranges wordt aangeduid.
In dit geval volstaat waarschijnlijk iets als
code:
1
 =verschuiving([start];0;Aantalarg(range)-1)

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

Lustucru schreef op zaterdag 24 november 2007 @ 21:58:
nofi, maar wat ik snap er geen hout van wat hier moeilijk wordt gedaan met som, als, max en dan ook nog matrixformules. Zo te zien zoek je iets wat meestal met dynamic ranges wordt aangeduid.
In dit geval volstaat waarschijnlijk iets als =verschuiving([start];0;Aantalarg(range)-1)
Jij doet de aanname dat de laatste datum ook op de laatste plaats staat. Voor deze aanname is echter geen enkele grondslag.

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op zaterdag 24 november 2007 @ 22:30:
Voor deze aanname is echter geen enkele grondslag.
Niet?

martini1 in "Excel (actuele waarde)"
martini1 in "Excel (actuele waarde)"
en, terzijde, meestal mensen beginnen mensen niet, als ze iedere week iets moeten invullen, met de datums in willekeurige volgorde neerpoten 8)7

Bovenal: dat zou TS aan kunnen geven. Niet voor niks schrijf ik:
In dit geval volstaat waarschijnlijk iets als

[ Voor 11% gewijzigd door Lustucru op 24-11-2007 23:59 ]

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

Nou ja, in de TS heeft hij/zij het over "elke keer op een andere plek". In de voorbeelden die jij aanhaalt staat de gezochte datum i.d.d. op de laatste plaats, hetgeen dus een voorspellende waarde zou moeten hebben...

Maar terug naar de oplossing. Eerlijk gezegd lijkt me een som(als()) simpeler dan dynamic ranges, maar goed. Naast dat het simpeler is kan je het ook voor elk probleem gebruiken (i.p.v. de ene x vlookup, dan weer verschuiving, etc.). Zo hoef je niet alle functies te onthouden.

In dit voorbeeld gebruik je som() puur om te "squeezen". Excel zou hier eigenlijk een functie voor moeten hebben als =number(), of liever nog =symbol(). Dan zou je ook naar strings kunnen verwijzen (dat trekt som() natuurlijk niet). Nu moet je dat soort zaken op een erg ingewikkelde manier oplossen, zie:

Verwijderd in "Waarden opzoeken in Excel, Vlookup maar ..."

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op zondag 25 november 2007 @ 02:19:
Maar terug naar de oplossing. Eerlijk gezegd lijkt me een som(als()) simpeler dan dynamic ranges, maar goed. Naast dat het simpeler is kan je het ook voor elk probleem gebruiken (i.p.v. de ene x vlookup, dan weer verschuiving, etc.). Zo hoef je niet alle functies te onthouden.
offtopic:
Je kunt erover twisten of het simpeler is maar het argument 'zo hoef je niet alle functies te onthouden is een drogreden. Met dezelfde argumenten kun je ook beweren dat het je beter een waterpomptang kunt gebruiken: dan hoef je tenminste niet zo'n hele set ring-, dop-, pijp- en steeksleutels te onderhouden. Het juiste gereedschap voor het juiste werk. :)

Excel biedt zijn werkbladfunctie keurig gecatagoriseerd aan. Je hoeft je functies dan ook niet te onthouden: het ligt keurig gesorteerd voor je klaar. :)
In dit voorbeeld gebruik je som() puur om te "squeezen". Excel zou hier eigenlijk een functie voor moeten hebben als =number(), of liever nog =symbol(). Dan zou je ook naar strings kunnen verwijzen (dat trekt som() natuurlijk niet). Nu moet je dat soort zaken op een erg ingewikkelde manier oplossen, zie:

Verwijderd in "Waarden opzoeken in Excel, Vlookup maar ..."
offtopic:
Dit is een contradictie. Moet je nog meer functies onthouden. ;)

Onkl geeft trouwens in hetzelde topic een simpeler oplossing.

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

Lustucru schreef op zondag 25 november 2007 @ 10:12:
[...]

offtopic:
Je kunt erover twisten of het simpeler is maar het argument 'zo hoef je niet alle functies te onthouden is een drogreden. Met dezelfde argumenten kun je ook beweren dat het je beter een waterpomptang kunt gebruiken: dan hoef je tenminste niet zo'n hele set ring-, dop-, pijp- en steeksleutels te onderhouden. Het juiste gereedschap voor het juiste werk. :)

Excel biedt zijn werkbladfunctie keurig gecatagoriseerd aan. Je hoeft je functies dan ook niet te onthouden: het ligt keurig gesorteerd voor je klaar. :)


[...]

offtopic:
Dit is een contradictie. Moet je nog meer functies onthouden. ;)

Onkl geeft trouwens in hetzelde topic een simpeler oplossing.
Over het eerste: ik begrijp natuurlijk wat je bedoelt maar arrays werken altijd en zijn echt veel simpeler. Ik gebruik alleen nog maar som() en kan hiermee zo'n beetje alles oplossen. Ik heb toch geen zin om elke keer op te moeten zoeken of het 4e argument van Hlookup() nou False of True moet zijn? Met arrays weet je gewoon exact waar je aan toe bent. Excel is een heel goed programma, maar de functies zijn m.i. echt slecht geimplementeerd. Neem bijvoorbeeld Normdist(). Ik vulde laatst een getal in, en het antwoord bleek gewoonweg verkeerd (is bekend bij MS). Als je de error-functie gebruikt (iets als (1/2*pi)*exp(-x^2)) gaat het wel gewoon goed (zou MS ook kunnen doen zou je zeggen).

Vlookup() lijkt heel handig maar probleem is dat het gezochte alleen rechts in een tabel mag staan. Dit slaat toch nergens op? Ik ga mijn structuur van mijn sheet echt niet aanpassen vanwege de gebrekkige implementatie van functies (dit ook als reactie op jouw 2e opmerking).

Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
Het lukt me niet om de formules die hier zijn gegeven werkend te krijgen. Dus heb ik zelf wat bedacht nu heb ik in blad 1 gezet wanneer ik het formulier het laatst gewijzigd heb b.v. 1-12-2007
Ik heb nu als fomule =ALS(Blad1!C1=C17;"C18";ALS(Blad1!C1=D17;"D18"; ALS(Blad1!C1=E17;"E18"))) maar als de waarde waar is dan wil ik het antwoord in C18(b.v. 2) maar ik krijg als antwoord C18 kan dit anders?

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Vlookup en Hlookup zijn gestandariseerde implementaties van het meestkomend gebruik van de functies vergelijken() en index(). Maw als de staandaardimplementatie in een bepaald geval niet voldoet val je terug op de originele generiekere functies.

Ook wat je steeds beweert dat vergelijken niet om kan gaan met verschillende tekstcriteria is veel te kort door de bocht. Zoeken naar een combinatie van twee strings kan bv alsvolgt:
code:
1
2
3
=vergelijken(C1 & D1;A1:An & B1:Bn;0)
of
=vergelijken(1;(A1:An=C1) *( B1:Bn=D1);0)

Ik blijf erbij dat het ranzig is om met optellingen en als constructies te werken voor een zoekopdracht als er kant en klare, snelle zoekfuncties geimplementeerd zijn.

En on topic: zo te zien gaat jouw oplossing de mist in als er, zoals in het gegeven voorbeeld, wel een datum is ingevuld maar geen waarde. De correctie die onkl aanbrengt is volledig terecht. :)

[ Voor 5% gewijzigd door Lustucru op 25-11-2007 13:17 ]

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


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

martini1 schreef op zondag 25 november 2007 @ 12:56:
Het lukt me niet om de formules die hier zijn gegeven werkend te krijgen. Dus heb ik zelf wat bedacht nu heb ik in blad 1 gezet wanneer ik het formulier het laatst gewijzigd heb b.v. 1-12-2007
Ik heb nu als fomule =ALS(Blad1!C1=C17;"C18";ALS(Blad1!C1=D17;"D18"; ALS(Blad1!C1=E17;"E18"))) maar als de waarde waar is dan wil ik het antwoord in C18(b.v. 2) maar ik krijg als antwoord C18 kan dit anders?
"" weghalen. zeker PHP gewend? Je krijgt alleen wel een probleem als je meer dan 7 als constructies wilt gebruiken. :)
Met een hulpveld gebruik je makkelijker horizontaal of vertikaal zoeken en zonder hulpveld: zie Lustucru in "[Excel] Laatst ingevoerde waarde opzoeke..." of onkl in "[Excel] Laatst ingevoerde waarde opzoeke..." en kijk eens welke impliciete vraag gesteld wordt: zijn alle datums vooraf ingevuld (dan werkt de oplossing van Gb niet) en worden de waardes keurig op volgorde ingevuld?

[ Voor 8% gewijzigd door Lustucru op 25-11-2007 13:23 ]

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

Lustucru schreef op zondag 25 november 2007 @ 13:03:
En on topic: zo te zien gaat jouw oplossing de mist in als er, zoals in het gegeven voorbeeld, wel een datum is ingevuld maar geen waarde. De correctie die onkl aanbrengt is volledig terecht. :)
Tsja, dan voeg je even een paar letters toe:

{=sum(if(A:A=max(A:A),if(B:B<>"",B:B)))}

Dit is generiek, je hoeft niet steeds nieuwe constructies te bedenken. Maar als jij daar toch graag je tijd aan besteedt, be my guest.

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Tsja, die is óók niet goed :)

{=sum(if(A:A=max(A:A),if(B:B<>"",B:B)))}
geeft nog steeds 0 terug als onder max datum niets staat ingevuld.

Hij is idd generiek, je hoeft niks nieuws te bedenken en als het verder niet boeit of het resultaat correct is, be my guest ;) De correcte variant is al lang door Onkl gepost.

[ Voor 7% gewijzigd door Lustucru op 25-11-2007 14:18 ]

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

Je hebt helemaal gelijk. De juiste oplossing moet zijn:

{=sum(if(A:A=max(A:A*(B:B<>"")),B:B))}

Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
nu heb ik dit =SOM(ALS(17:17=MAX(17:17*(18:18<>""));18:18))
maar dan telt hij alle waardes op

Acties:
  • 0 Henk 'm!

Verwijderd

Je moet wel kolom"nummers" aangeven, zie mijn eerdere post:

Verwijderd in "[Excel] Laatst ingevoerde waarde opzoeke..."

Dus i.p.v. 17 (en 18) moet je schrijven: A17:FF17 (idem voor 18).

En dan <ctrl-shift-enter>.

(FF is een voorbeeld van een ver verwijderd kolom"nummer". Hier kan je ook elke ander kolomnummer invullen)

[ Voor 18% gewijzigd door Verwijderd op 25-11-2007 15:22 ]


Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
Heb nu dit maar telt nog steeds alles op, ik weet het echt niet meer, hopelijk een van jullie wel.
Zou super zijn!!!!
http://img228.imageshack.us/img228/1560/vraag2bf2.jpg
Afbeeldingslocatie: http://img228.imageshack.us/img228/1560/vraag2bf2.th.jpg

Acties:
  • 0 Henk 'm!

Verwijderd

De cursor moet in de formule staan. En dan <ctrl-shift-enter>.

Niet echt netjes trouwens om de formule in de regel te zetten die hij moet evalueren, wellicht kan je de formule even op een andere regel zetten.

En tenslotte moet je de H vervangen door FF (of alle FF door H).

[ Voor 72% gewijzigd door Verwijderd op 25-11-2007 23:52 ]


Acties:
  • 0 Henk 'm!

  • martini1
  • Registratie: Februari 2007
  • Laatst online: 23-04-2022
super bedankt!!! het werkt eindelijk!!! _/-\o_
(En die H en FF had ik al aangepast was een oudere printscreen, ik was van alles aan hett proberen)

[ Voor 52% gewijzigd door martini1 op 26-11-2007 16:56 ]

Pagina: 1