[Excel] kolom optellen tot een getalwaarde is bereikt

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

Anoniem: 79081

Topicstarter
Excel vraagje; ik heb lang gezocht in de help en op dit forum maar kan niks vergelijkbaars vinden.

Ik wil een kolom optellen totdat een bepaalde waarde is verkregen en dat excel vervolgens aangeeft hoeveel waarden hij heeft opgeteld.

Stel ik heb een kolom met 50 maal 20 onder elkaar (bijv. C1:C50). Vervolgens wil ik dat excel optelt tot aan 500 (vanaf cel C1 naar beneden) en in een cel aangeeft hoeveel getallen hij heeft opgeteld (in dit geval 25).

De toepassing heeft betrekking op het aantal jaren tot aan het break-even punt van een investeringsproject en ik wil dat Excel bij veranderingen in de gegevens dit doorrekend, vandaar.

Hoop dat iemand mij kan helpen.

Anoniem: 15841

Wil je dit persé in Excel, of mag het ook met een beetje VBA? Met de laatstgenoemde is het natuurlijk een eitje.

Anoniem: 79081

Topicstarter
Ik heb geen beschikking over VBA, dus ja, in Excel... (is het lastig? :) )

  • Devster
  • Registratie: Februari 2001
  • Laatst online: 17-05 20:22

Devster

-=+CLOUDBARISTA+=-

=IF(SUM($A$1:A6)>100,ROWS($A$1:A6),"Waarde nog niet bereikt")

Dit uiteraard voor de Engelstalige Excel.

Als de som van kolom A1 t/m A6 groter is dan 100 geeft hij aan hoeveel rijen het hier betreft, anders komt "Waarde nog niet bereikt" in beeld.

Kun je hier iets mee?

Uiteraard staan je waarden in kolom A en staat deze formule in bijv. kolom B.

[ Voor 18% gewijzigd door Devster op 20-02-2003 09:53 ]

"The problem with internet quotes is that you can't always depend on their accuracy" ~Abraham Lincoln, 1864.


  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 00:30

Microkid

Frontpage Admin / Moderator PW/VA

Smile

Als het om een break-even point gaat zou je ook een vlookup kunnen gebruiken, met als laatste waarde een false, en de te zoeken waarde opzoeken in de kolom met de andere waarden waarmee je wilt vergeljiken. Excel zoekt dan de dichtsbijzijnste waarde op, en dat zal dan ong. je breakeven point zijn.

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.


Anoniem: 79081

Topicstarter
Devster schreef op 20 February 2003 @ 09:52:
=IF(SUM($A$1:A6)>100,ROWS($A$1:A6),"Waarde nog niet bereikt")

Dit uiteraard voor de Engelstalige Excel.

Als de som van kolom A1 t/m A6 groter is dan 100 geeft hij aan hoeveel rijen het hier betreft, anders komt "Waarde nog niet bereikt" in beeld.

Kun je hier iets mee?
Nou, gedeeltelijk. Dat ik de formule RIJEN moest gebruiken leek mij ook, maar m'n probleem is dat ik wil dat de formule de waarden in een kolom optelt TOT AAN het getal dat hij nodig heeft:

- In principe heeft de formule de beschikking over bijvoorbeeld 50 getallen (zeg voor het gemak vijftig keer 20, op mijn eigen werkblad zijn het steeds varierende getallen)

- De formule krijgt de opdracht "tel op tot 100" dan moet de uitkomst van de formule 5 zijn (5 keer 20), maar als er wordt gezegd tel op tot 150 dan moet het resultaat 8 zijn (8 keer 20 is de eerste keer boven de 150).

De formule moet dus cellen optellen totaan de gevraagde waarde en vervolgens weergeven hoeveel waarden er zijn opgeteld.

Duidelijker?

  • Devster
  • Registratie: Februari 2001
  • Laatst online: 17-05 20:22

Devster

-=+CLOUDBARISTA+=-

Dat doet deze toch ook? Alleen gaat hij "door" boven het getal dat je moet hebben. Ik weet niet hoe dynamisch je alles wil hebben, maar anders moet je toch echt een macro gaan maken hiervoor.

"The problem with internet quotes is that you can't always depend on their accuracy" ~Abraham Lincoln, 1864.


Anoniem: 79081

Topicstarter
Dat doet deze toch ook?
Ik heb 'm uitgetest maar hij geeft in jouw formule altijd het maximum aantal rijen aan (in mijn geval 30, en natuurlijk alleen als het totaal van de rijen boven de gevraagde waarde zit) terwijl de optelling na 12 rijen al boven de gevraagde waarde zit.... 8)7

[ Voor 17% gewijzigd door Anoniem: 79081 op 20-02-2003 10:28 ]


  • Devster
  • Registratie: Februari 2001
  • Laatst online: 17-05 20:22

Devster

-=+CLOUDBARISTA+=-

Ah, ok. Ik copieer de formule naar elke cel naast de rij getallen en kan dan zien waar de waarde bereikt wordt. Zoals jij het wil moet je toch aan een macro denken, denk ik ;)

"The problem with internet quotes is that you can't always depend on their accuracy" ~Abraham Lincoln, 1864.


Anoniem: 79081

Topicstarter
Misschien heb ik een andere oplossing maar ben nog niet compleet:

Heb de tabel nog een keer gemaakt maar dan cumulatief. Dus in plaats van 20 20 20 nu 20 40 60 enz. Ben met VERT.ZOEKEN bezig maar hij zoekt de waarde die als laatste onder de gezochte waarde zit en ik wil de eerste waarde er boven, hoe verander ik dat?

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 15:33

Schonhose

Retro Icoon

Anoniem: 79081 schreef op 20 February 2003 @ 09:52:
Ik heb geen beschikking over VBA, dus ja, in Excel... (is het lastig? :) )
Heb je Excel, dan heb je VBA..... Macro is wel handiger.

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


Anoniem: 79081

Topicstarter
Wohaa, ik heb 'm! En dat zonder macro's... Ik heb de volgende formule toegepast op de cumulatieve tabel:

=VERGELIJKEN(VERT.ZOEKEN(200;A1:A50;1;WAAR);A1:A50;0)+1

Als in de kolom A1 tot A50 van boven naar beneden 30, 60, 90 staat (dus 30 cumulatief)dan geeft de formule de uitkomst 7 (na 7 jaar voorbij break-even)

Als de 200 veranderd wordt in 100 wordt de uitkomst 4.
(in mijn toepassing is de 200 en optelling van verschillende cellen)

¥€$ ! In ieder geval bedankt voor de tips allen! ;)

Anoniem: 79081

Topicstarter
Even voor de freaks onder ons, het uiteindelijke resultaat...

=ALS(C$122-C133<0;"Begin jaar 1";ALS(C133<0;"Nooit";ALS(C$122-C133<C$88;"1e kasstroom";ALS(EN(C$122=0;C133=0);"Geen project";VERGELIJKEN(VERT.ZOEKEN(C$122-C133;C$88:C$117;1;WAAR);C$88:C$117;0)+1))))

Acties:
  • 0 Henk 'm!

Anoniem: 34762

Anoniem: 79081 schreef op 20 February 2003 @ 11:33:
Wohaa, ik heb 'm! En dat zonder macro's... Ik heb de volgende formule toegepast op de cumulatieve tabel:
=VERGELIJKEN(VERT.ZOEKEN(200;A1:A50;1;WAAR);A1:A50;0)+1
Als in de kolom A1 tot A50 van boven naar beneden 30, 60, 90 staat (dus 30 cumulatief)dan geeft de formule de uitkomst 7 (na 7 jaar voorbij break-even)
Als de 200 veranderd wordt in 100 wordt de uitkomst 4.
(in mijn toepassing is de 200 en optelling van verschillende cellen)
Waarom zo moeilijk doen als het ook gemakkelijk kan?
In A1:A50 vijftig keer een getal typen als als dat getal steeds hetzelfde is (of een getal cumuleren), is niet zo efficiënt. 1 x in A1 is voldoende, je kunt daar in alle formules dan naar verwijzen. Uitgaande van jouw voorbeeld:
Typ in A1: 30
Typ (bv.) in B1: 200
Typ (bv.) in C1: =afronden.naar.boven(B1/A1;0)
(Je kunt uiteraard ook in B1 meteen =afronden.naar.boven(200/A1;0) plaatsen).
De getallen in A1 en B1 kun je naar hartelust variëren, je krijgt dezelfde uitkomsten als in jouw formule.
Pagina: 1