• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Som met variabel bereik

Status
Niet open voor verdere reacties.

Jampie

Gebruiker
Lid geworden
22 jul 2004
Berichten
13
Ik ben op zoek naar een formule voor het volgende:

Ergens in de kolom boven de te maken formule bevind zich een lege cel. Ik wil graag de som van de getallen tussen de lege cel en de cel boven de formule.
 
Hoi Jan,

Ik heb sterk het idee dat je een soort van subtotaal wil maken. Met som.als of somproduct kun je een heel eind komen, zoniet op lossen, maar dan heb ik een klein voorbeeldje nodig.

Jeroen
 
Je klikt op funtieinvoegen, dan op som, dan hou je de ctrl knop vast en klikt alle cellen aan die opgeteld moeten worden en dan enter.
 
Even een voorbeeldje:
In een kolom staan de volgende getallen
8
9
10
8
(lege cel)
12
13
14
15
(formule)

De formule moet in het onderste geval de som nemen van 12, 13, 14 en 15. Bereik van 4 rijen.
Indien een gebruiker een rij met een getal tussen 12 en 13 toevoegd, moet de som een bereik hebben van 5 rijen. Wordt er geen getal in de nieuwe rij ingevoerd dan moet de formule de som van 13, 14 en 15 worden.
Dus ik zoek een formule voor de som van de getallen naar boven tot een lege cel.
 
Hoi Jan,

Matrix-formule dan maar:
=SOM((RIJ(A1:A19)>MAX(ISLEEG(A1:A19)*RIJ(A1:A19)))*(A1:A19))

Invoeren met Shift + Ctrl + Enter tegelijk invoeren!!!

Jeroen
 
Het werkt inderdaad. Geweldig.

Ik snap alleen nog niet waarom de matrix tot de lege cel op telt.
 
Hoi Jan,

De functie isleeg() controleerd of een cel leeg is of niet (Waar of Onwaar/1 of 0). Dit vermenigvuldigen we met het rijnummer van de cel.

Stel A10 is een lege cel -> Waar * 10 = 10
Stel A10 is niet leeg -> Onwaar * 10 =0

Dat doet de Matrix over het hele bereik. De hoogste waarde (max) wordt dus de laatste lege cel.

Nu vergelijken we alle rijnummer weer met dit maximum en als het rijnummer groter is dan is de tweede vergelijking waar.

Stel laatste lege cel is A12
Stel A10: Rij(A10)>max is Onwaar * A10 =0
Stel A13: Rij(A13)>max is Waar * A13 =A13

Het gevolg Som neemt de som van alle getallen onder de laatste lege cel.

Jeroen
 
Jeroen,

Toch nog een klein probleempje.
De lege cel waar ik het steeds over heb blijkt niet leeg, er staat een formule in met als resultaat "". Dan werkt jouw matrix formule niet.
Ik heb al geprobeerd met NIET(ISGEENTEKST() in jouw formule maar ik blijf #waarde! houden.

Heb je nog een oplossing?
 
Hoi Jan,

Domme denkfout, excuses.

In de reekst A1:A19 mogen inderdaad geen teksten staan, TENZIJ je die teksten met dezelfde formule gelijk maakt aan 0:
=SOM((RIJ(A1:A19)>MAX((A1:A19="")*RIJ(A1:A19)))*ALS(ISTEKST(A1:A19);0;(A1:A19)))

INVOEREN ALS MATRIX-FORMULE!!!

Ik heb 'm getest en hij werkt.

Jeroen
 
Het werkt inderdaad.
Toch doet hij nog net niet wat ik graag zou willen (ligt aan mijn onduidelijke vraag, vandaar toch een file met een voorbeeld zoals ik het precies bedoel. Het gaat fout bij D11

bij voorbaat dank
 

Bijlagen

Hoi Jan,

Voor jouw situatie is dit de juiste formule:

D14: =ALS(C14<>"";"";SOM((RIJ(C$2:C13)>MAX((C$2:C13="")*RIJ(C$2:C13)))*ALS(ISTEKST(C$2:C13);0;(C$2:C13))))

Invoeren eerst Shift + Ctrl knop indrukken en dan op Enter!!

Jeroen
 
Som met variabel bereik zonder lege cel

Ik heb ongeveer het zelfde probleem. Ik wil uit een kolom met 20 getallen de som maken van de eerste X aantal getallen waarbij men X ingeeft in een aparte cel

vb X=7 dan wil ik de som maken van de eerste 7 getallen in de lijst
 
Hoi Keyzer,

Niet zo moeilijk met somproduct:

=somproduct((Rij(A11:A99)<X+11)*(A11:A99))

X mag een verwijzing zijn naar een cel, de +11 correspondeerd met het rijnummer van A11. Dus als jouw bereik D4: D30 is wordt het X+4.

Jeroen
 
SUMPRODUCT ??

Waarschijnlijk is het te eenvoudig. Jouw oplossing geeft mij niet het verwacht resultaat.

Ter verduidelijking

In kolom A heb ik op de rijen A1 tot A20 de getallen van 1 tot 20 staan
In B1 geef ik 11 in
Ik wil in C1 de som van rij A1 tot A11 dus moet C1 resulteren in 66
B1 is vrij in te geven. Wanneer ik hier 5 typ moet A1 tot A5 opgeteld worden en verschijnt er in C1 15
 
Hoi Keyzer,

Mijn excuses, als een "<"-teken in de formule wordt gezet voor een ander teken wordt de rest van de regel gewist of zo. Uit de tekst bleek wel dat dit niet de juiste tekst bij de juiste formule was.

=somproduct((Rij(A11:A99) < X+11)*(A11:A99))

X mag een verwijzing zijn naar een cel, de +11 correspondeerd met het rijnummer van A11. Dus als jouw bereik D4: D30 is wordt het X+4.


Jeroen
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan