Ik ben bezig met een som waarbij ik wat dingen uit een lijst op moet tellen. alleen de lengte van die lijst verandert nogal waardoor ik de cel niet specifiek kan aangeven tot waar die moet tellen. Hij moet eigenlijk tellen tot 1 cel boven de cel waar de uitkomst in komt. ik heb t wel geprobeerd met de huidigecel -1 in de formule maar dat werkt niet echt. Iemand enig id hoe dit is op te lossen?
laat je hem toch altijd sommeren tot regel 10.000 ofzo, is het altijd lang genoeg. Ik denk dat ik je vraag niet goed begrijp.
E8400, P5K EPU, patriot extreme 800 4GB, EN9600gt, hoontech dsp24v, samsung F1 1TB, dell 2407wfp, canon LBP5200
Canon 50D, 17-85IS, 28-135 IS, 100-300mm, 50mm 1.8
Hoe kan de lengte van de lijst nu varieren als hij 'eigenlijk moet tellen tot een cel boevn de cel waar de uitkomst in staat'. Dan ligt het toch wel vast? Ik snap je probleem evenmin. Leg het nog eens goed uit en waarom wat je probeert niet goed werkt 
offtopic:
Je post nu in korte tijd een aantal topics die geen van allen écht voldoen aan de policy. Als je iets meer moeite steekt in je topicstarts dan is de kans op een antwoord waar je wat aan hebt ook groter
Je post nu in korte tijd een aantal topics die geen van allen écht voldoen aan de policy. Als je iets meer moeite steekt in je topicstarts dan is de kans op een antwoord waar je wat aan hebt ook groter
De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland
Verwijderd
Ik neem aan dat je met lijst "kolom" bedoelt (stel A).
Ik ga ervan uit dat alle op te tellen waarden positief zijn en dat er minimaal twee > 0 zijn.
Je weet dus dat de som altijd groter is dan een individuele waarde. Dus is het antwoord:
{=sum(if(A1:A10000<max(A1:A10000);A1:A10000))}
Ik ga ervan uit dat alle op te tellen waarden positief zijn en dat er minimaal twee > 0 zijn.
Je weet dus dat de som altijd groter is dan een individuele waarde. Dus is het antwoord:
{=sum(if(A1:A10000<max(A1:A10000);A1:A10000))}
[ Voor 16% gewijzigd door Verwijderd op 27-08-2006 11:55 ]
Ik trap ff dit topic omhoog omdat ik eigenlijk bijna dezelfde vraag heb als de TS, alleen kan ik geen gebruik maken van het optellen van een hele kolom.
Ik heb wat financiën in een excel sheet staan in deze vorm:
Nu wil ik in de cellen met het totaal een formule zetten die optelt tot aan de bovenstaande cel waarin dat gebeurt. Dus een soort totaal=(som((vorige_som+1:huidige_rij-1).
Ik heb al allerlei functies met som.als e.d. geprobeerd, maar het lukt niet echt. Weet iemand hoe je dit op kunt lossen?
Ik heb wat financiën in een excel sheet staan in deze vorm:
| [kolomA] | [kolomB] |
| 1 | |
| 4 | |
| 3 | |
| totaal | 7 |
| 3 | |
| 2 | |
| totaal | 5 |
Nu wil ik in de cellen met het totaal een formule zetten die optelt tot aan de bovenstaande cel waarin dat gebeurt. Dus een soort totaal=(som((vorige_som+1:huidige_rij-1).
Ik heb al allerlei functies met som.als e.d. geprobeerd, maar het lukt niet echt. Weet iemand hoe je dit op kunt lossen?
Die folgende Sendung ist für Zuschauer unter sechzehn Jahre nicht geeignet
Verwijderd
Sorry, ik begrijp niet wat je wil. Als je het iets duidelijker uitlegt weet ik ongetwijfeld wel een oplossing. Post anders even een screenshot o.i.d.
[ Voor 15% gewijzigd door Verwijderd op 20-11-2006 15:20 ]
Je kunt toch gewoon voor elke totaalregel de formule intypen?
Wat is het voordeel van 1 algemene formule hiervoor? Bij een regel invoegen gaat bovenstaande oplossing ook gewoon goed. (zolang je niet met dollartekens je verwijzing echt 'hard' maakt)
Wat is het voordeel van 1 algemene formule hiervoor? Bij een regel invoegen gaat bovenstaande oplossing ook gewoon goed. (zolang je niet met dollartekens je verwijzing echt 'hard' maakt)
Mja het probleem is dus dat de lengte niet elke keer gelijk is, de ene keer zijn het 3 rijen en de andere keer 4, dus dan klopt de formule niet meer, moet je dan weer met de hand aanpassen.riZZy schreef op maandag 20 november 2006 @ 15:26:
Je kunt toch gewoon voor elke totaalregel de formule intypen?
Wat is het voordeel van 1 algemene formule hiervoor? Bij een regel invoegen gaat bovenstaande oplossing ook gewoon goed. (zolang je niet met dollartekens je verwijzing echt 'hard' maakt)
Ik zal zo ff een screenshot maken want blijkbaar was het toch niet helemaal duidelijk
Edit: ok hier ff een plaatje

Zoals je kunt zien is de formule in C12 anders dan die in C7 omdat C7 méér rijen bij elkaar op moet tellen. Simpelweg op SUM klikken werkt niet omdat er lege rijen tussen zitten en daarnaast gebruik ik meestal geen SUM maar SUMIF.
[ Voor 23% gewijzigd door Winnetou op 20-11-2006 15:38 ]
Die folgende Sendung ist für Zuschauer unter sechzehn Jahre nicht geeignet
Ik denk dat met de hand aanpassen net zo snel gaat als het intypen van een algemene formule.
Het geeft toch niet dat je de ene keer 4 en de andere keer 3 regels hebt?
In C7 krijg je dan:
en voor C12:
Of kijk ik nu ergens heel erg overheen?
Het geeft toch niet dat je de ene keer 4 en de andere keer 3 regels hebt?
In C7 krijg je dan:
code:
1
| =SOM(C4:C6) |
en voor C12:
code:
1
| =SOM(C8:C11) |
Of kijk ik nu ergens heel erg overheen?
Verwijderd
Ik snap nu wat je bedoelt. Zoals riZZy al aangeeft, of je hier nou enorm veel tijd mee bespaard is de vraag, maar het is wel een interessante probleemstelling. En niet zo makkelijk op te lossen zonder VBA. Ik ga er i.i.g. even over nadenken.Winnetou schreef op maandag 20 november 2006 @ 15:30:
[...]
Mja het probleem is dus dat de lengte niet elke keer gelijk is, de ene keer zijn het 3 rijen en de andere keer 4, dus dan klopt de formule niet meer, moet je dan weer met de hand aanpassen.
Ik zal zo ff een screenshot maken want blijkbaar was het toch niet helemaal duidelijk
Edit: ok hier ff een plaatje
[afbeelding]
Zoals je kunt zien is de formule in C12 anders dan die in C7 omdat C7 méér rijen bij elkaar op moet tellen. Simpelweg op SUM klikken werkt niet omdat er lege rijen tussen zitten en daarnaast gebruik ik meestal geen SUM maar SUMIF.
Verwijderd
Je zal toch even een hulpkolom moeten maken (D).
d2: 1
vanaf d3 (en naar beneden slepen): if(a3="totaal";d2+1;d2)
Nu kan je in B12 zetten:
{=sum(if($d$2:$d11=max($d$2:$d11);b$2:b11))}
Deze laatste formule kan je vervolgens copieren naar c12, b7, etc.
d2: 1
vanaf d3 (en naar beneden slepen): if(a3="totaal";d2+1;d2)
Nu kan je in B12 zetten:
{=sum(if($d$2:$d11=max($d$2:$d11);b$2:b11))}
Deze laatste formule kan je vervolgens copieren naar c12, b7, etc.
[ Voor 5% gewijzigd door Verwijderd op 20-11-2006 18:09 ]
Hm ja ik hoopte dat er een eenvoudig trucje was om makkelijk tot de eerstvolgende cel erboven waar SUM oid instaat te tellenriZZy schreef op maandag 20 november 2006 @ 16:30:
Ik denk dat met de hand aanpassen net zo snel gaat als het intypen van een algemene formule.
Het geeft toch niet dat je de ene keer 4 en de andere keer 3 regels hebt?
In C7 krijg je dan:
code:
1 =SOM(C4:C6)
en voor C12:
code:
1 =SOM(C8:C11)
Of kijk ik nu ergens heel erg overheen?
Ik dit even geprobeerd, het werkt alleen niet helemaal want hij telt in C12 ook gewoon C2:C7 mee dus het antwoord wordt dan 22.Verwijderd schreef op maandag 20 november 2006 @ 18:07:
Je zal toch even een hulpkolom moeten maken (D).
d2: 1
vanaf d3 (en naar beneden slepen): if(a3="totaal";d2+1;d2)
Nu kan je in B12 zetten:
{=sum(if($d$2:$d11=max($d$2:$d11);b$2:b11))}
Deze laatste formule kan je vervolgens copieren naar c12, b7, etc.
Dat klopt ook wel want met b$2 zet je de optelsom toch gewoon vast tot de bovenste cel?
Die folgende Sendung ist für Zuschauer unter sechzehn Jahre nicht geeignet
Als je consequent 'totaal' tikt in kolom A kun je daar gebruik van maken door de regel op te zoeken met vert. zoeken en dan met index of verchuiven het optelbereik op te halen. Anders kan een vba functie voor je het zoeken overnemen
De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland
Verwijderd
Kleine correctie:Winnetou schreef op maandag 20 november 2006 @ 19:52:
Ik dit even geprobeerd, het werkt alleen niet helemaal want hij telt in C12 ook gewoon C2:C7 mee dus het antwoord wordt dan 22.
Dat klopt ook wel want met b$2 zet je de optelsom toch gewoon vast tot de bovenste cel?
Je zal toch even een hulpkolom moeten maken (D).
d2: 1
vanaf d3 (en naar beneden slepen): =if(a3="totaal";"";if(d2="";d1+1;d2))
Nu kan je in B12 zetten:
{=sum(if($d$2:$d11=max($d$2:$d11);b$2:b11))}
Deze laatste formule kan je vervolgens copieren naar c12, b7, etc.
Elke keer? Hoe moet ik me dat voorstellen? Krijg je elke keer weer een nieuwe sheet waar je totalen moet inzetten? Als je dit steeds opnieuw moet doen, zou ik eerder kijken naar een manier waarop je snel het hele bestand kunt vullen met de simpele formule dan tig keer die moeilijke (maar mooi generieke) formule copy-pasten. Dat maakt je bestand ook weer wat leesbaarder.Winnetou schreef op maandag 20 november 2006 @ 19:52:
Hm ja ik hoopte dat er een eenvoudig trucje was om makkelijk tot de eerstvolgende cel erboven waar SUM oid instaat te tellenMaar blijkbaar bestaat dat niet echt. Met de hand is het voor 12 rijen ofzo natuurlijk wel te doen, maar met 100+ rijen is het lastig om elke keer te kijken tot waar ie moet tellen enzo.
Zet gewoon ook de formule van totaal in een andere kolom en tel gewoon de hele kolom?
Of als dat om een of andere reden niet kan: tel de hele kolom en deel door 2. Je hebt immers totaal som(alles) + som( som(deelN)) == 2* totaal
Edit: dan natuurlijk voor de hele kolom tot op dat punt. Zet ook voor het laatste deel ergens een subtotaal en je bent er. Maar de voorkeur is alle totalen in eigen kolommen. De logica van Excel is nu eenmaal zo opgebouwd.
Of als dat om een of andere reden niet kan: tel de hele kolom en deel door 2. Je hebt immers totaal som(alles) + som( som(deelN)) == 2* totaal
Edit: dan natuurlijk voor de hele kolom tot op dat punt. Zet ook voor het laatste deel ergens een subtotaal en je bent er. Maar de voorkeur is alle totalen in eigen kolommen. De logica van Excel is nu eenmaal zo opgebouwd.
[ Voor 36% gewijzigd door F_J_K op 21-11-2006 08:43 ]
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)
Hm ik krijg ook dit niet werkend. Nu laat ie in de rij met totaal in kolom d niks zien. De totaalwaarden zijn vervolgens 0Verwijderd schreef op dinsdag 21 november 2006 @ 00:02:
[...]
Kleine correctie:
Je zal toch even een hulpkolom moeten maken (D).
d2: 1
vanaf d3 (en naar beneden slepen): =if(a3="totaal";"";if(d2="";d1+1;d2))
Nu kan je in B12 zetten:
{=sum(if($d$2:$d11=max($d$2:$d11);b$2:b11))}
Deze laatste formule kan je vervolgens copieren naar c12, b7, etc.
He? Het maakt toch niet uit of die totalen er onder staan of ernaast? Dan moet ik alsnog zo'n formule als van grizzlybeer toepassen om het op te tellen. Of bedoel je bij elke rij een soort subtotaal in een nieuwe kolom, dat zou natuurlijk op zich wel mogelijk zijn. Niet de mooiste oplossing maar het kan wel.F_J_K schreef op dinsdag 21 november 2006 @ 08:40:
Zet gewoon ook de formule van totaal in een andere kolom en tel gewoon de hele kolom?
Of als dat om een of andere reden niet kan: tel de hele kolom en deel door 2. Je hebt immers totaal som(alles) + som( som(deelN)) == 2* totaal
Edit: dan natuurlijk voor de hele kolom tot op dat punt. Zet ook voor het laatste deel ergens een subtotaal en je bent er. Maar de voorkeur is alle totalen in eigen kolommen. De logica van Excel is nu eenmaal zo opgebouwd.
Die folgende Sendung ist für Zuschauer unter sechzehn Jahre nicht geeignet
Als de cijfers in A staan en je hebt je totalen in B ernaast dan voldoet voor elke totaalregel n de som-van A1:An-1 minus de som van B1:Bn-1
code:
1
| =SOM($A$1:INDIRECT("R[-1]k[-1]";0))-SOM($B$1:INDIRECT("R[-1]K";0)) |
De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland
Verwijderd
Werkt toch echt hoor...Winnetou schreef op dinsdag 21 november 2006 @ 13:23:
Hm ik krijg ook dit niet werkend. Nu laat ie in de rij met totaal in kolom d niks zien. De totaalwaarden zijn vervolgens 0
Hmz 'k geloof dat ik niet zó into Excel ben dat ik dit begrijp. Met verticaal zoeken is het ook nog niet echt gelukt. Die indirect functie is ook apart, beetje vaag...niesje schreef op dinsdag 21 november 2006 @ 14:57:
Als de cijfers in A staan en je hebt je totalen in B ernaast dan voldoet voor elke totaalregel n de som-van A1:An-1 minus de som van B1:Bn-1
code:
1=SOM($A$1:INDIRECT("R[-1]k[-1]";0))-SOM($B$1:INDIRECT("R[-1]K";0))
Nah ik begrijp het niet hoezo werkt ie bij mij nou weer niet
Die folgende Sendung ist für Zuschauer unter sechzehn Jahre nicht geeignet
Verwijderd
Wellicht ten overvloede, maar je moet <ctrl><shift><enter> doen als je de formule hebt ingevoerd (om {} te krijgen).Winnetou schreef op dinsdag 21 november 2006 @ 16:58:
Nah ik begrijp het niet hoezo werkt ie bij mij nou weer niet(overigens met deze gevallen {} werkt het sowieso niet, als ik die eraf haal krijg ik dat #VALUE!
niesje schreef op dinsdag 21 november 2006 @ 14:57:
Als de cijfers in A staan en je hebt je totalen in B ernaast dan voldoet voor elke totaalregel n de som-van A1:An-1 minus de som van B1:Bn-1
code:
1=SOM($A$1:INDIRECT("R[-1]k[-1]";0))-SOM($B$1:INDIRECT("R[-1]K";0))
Je kunt ook gewoonWinnetou schreef op dinsdag 21 november 2006 @ 16:58:
[...]
Hmz 'k geloof dat ik niet zó into Excel ben dat ik dit begrijp. Met verticaal zoeken is het ook nog niet echt gelukt. Die indirect functie is ook apart, beetje vaag...
code:
in cel B4 zetten en deze kopieren voor andere totaalregels....1
| =SOM($A$1:A3)-SOM($B$1:B3) |
Maar naast de uitdaging van een generieke formule begrijp ik nog steeds niet waarom je niet gewoon de simpele som-formule gebruikt. Hoe vaak moet je totaalregels in een bestand erbij zetten? (Zie mijn eerdere post.)
[ Voor 37% gewijzigd door riZZy op 22-11-2006 08:44 ]
Verwijderd
Ik heb een hele simpele oplossing gegeven, user hoeft het niet eens in te tikken want het kan gewoon uit dit topic gekopieerd worden.
Als de user hier geen tijd voor heeft of zich niet 2 seconden wil verdiepen in de problematiek dan is het blijkbaar niet zo belangrijk.
Als de user hier geen tijd voor heeft of zich niet 2 seconden wil verdiepen in de problematiek dan is het blijkbaar niet zo belangrijk.
Pagina: 1