Discussion:
aftrekken met rest
(te oud om op te antwoorden)
JOOST
2008-05-14 11:59:13 UTC
Permalink
Hallo,

ik heb een reeks getallen bijv. zoals hieronder. Wanneer in de reeks
een negatief getal voorkomt wil ik in de kolom ernaast het negatieve
getal in mindering gebracht hebben vanaf het bovenste getal. Echter
wanneer het positieve getal kleiner is dan het negatieve wil ik als
antwoord nul hebben en vervolgens het restgetal in mindering brengen
bij het volgende positieve getal. Heeft iemand een suggestie voor de
formule.

reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0

alvast bedankt

Joost
Dodo
2008-05-14 20:54:51 UTC
Permalink
Post by JOOST
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
JOOST
2008-05-15 06:44:21 UTC
Permalink
Post by Dodo
reeks     resultaat met formule
3            3-8 = 0 rest -5
4            4-5 (dit is de bovenstaande rest) = 0 rest -1
0            0-1 = 0 rest -1
2            2-1 = 1
-8           0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost
jan
2008-05-15 07:19:02 UTC
Permalink
Joost,

In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule kunnen
zijn

In A1 plaats je:

=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)

Deze doorvoeren tot aan A6.

Of, om het eerste negatieve getal te zoeken:

=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"");0));0);A1)

en deze doorvoeren tot aan de cel met negatieve waarde

Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost
JOOST
2008-05-15 08:04:23 UTC
Permalink
Hallo Jan,
Ik heb het idee dat het aardig moet kloppen, maar ik kan je formule
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A
$100;"­");0));0);A1)
niet helemaal volgen. Ik krijg ook de melding #Waarde!
Zou je de formule iets kunnen toelichten
Hartelijk dank
Joost
Post by jan
Joost,
In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule kunnen
zijn
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
Deze doorvoeren tot aan A6.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­");0));0);A1)
en deze doorvoeren tot aan de cel met negatieve waarde
Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
jan
2008-05-15 08:33:23 UTC
Permalink
Joost,

=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)

In deze formule staat in A7 het negatieve getal. Dat ligt dus vast in de formule.

SOM($A$1:A1) geeft, bij doorvoeren naar beneden de lopende som voor kolom A.
Daar wordt het negatieve getal bij opgeteld. Zolang dat negatief is is 0 groter en
wordt 0 als resultaat gegeven door het gebruik van MAX.
Vanaf de cel dat het nagatieve getal a.h.w. op is levert dit geheel een getal op dat
groter is dan de waarde in de overeenkomstige cel in kolom A. Met MIN wordt dan de
waarde uit kolom teruggegeven.

=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­");0));0);A1)

Deze formule is een matrixformule en moet bevestigd worden met Ctrl+Shift+Enter.
Dat was ik vergeten erbij te zetten, vandaar dat je #WAARDE krijgt.

Hier is $A$7 vervangen door een formule die het eerste negatieve getal zoekt in
kolom A

De matrixformule:
=VERGELIJKEN("-";TEKST($A$1:$A$100;"");0)
zoekt het eerste negatieve getal in A1:A100 en geeft daarvan de plaats (rij) als
uitkomst
Gecombineerd met INDEX wordt dan de waarde uit die cel gehaald en levert dat dus het
eerste negatieve getal op.

Wordt er geen negatief getal gevonden, dan krijg je een foutmelding: #N/B

Jan




"JOOST" <***@sswm.nl> schreef in bericht news:8c8de608-22d4-43a8-8a02-***@j22g2000hsf.googlegroups.com...
Hallo Jan,
Ik heb het idee dat het aardig moet kloppen, maar ik kan je formule
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A
$100;"­");0));0);A1)
niet helemaal volgen. Ik krijg ook de melding #Waarde!
Zou je de formule iets kunnen toelichten
Hartelijk dank
Joost
Post by jan
Joost,
In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule kunnen
zijn
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
Deze doorvoeren tot aan A6.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­");0));0);A1)
en deze doorvoeren tot aan de cel met negatieve waarde
Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
JOOST
2008-05-15 08:53:09 UTC
Permalink
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
In deze formule staat in A7 het negatieve getal. Dat ligt dus vast in de formule.
SOM($A$1:A1) geeft, bij doorvoeren naar beneden de lopende som voor kolom A.
Daar wordt het negatieve getal bij opgeteld. Zolang dat negatief is is 0 groter en
wordt 0 als resultaat gegeven door het gebruik van MAX.
Vanaf de cel dat het nagatieve getal a.h.w. op is levert dit geheel een getal op dat
groter is dan de waarde in de overeenkomstige cel in kolom A. Met MIN wordt dan de
waarde uit kolom teruggegeven.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­");0));0);A1)
Deze formule is een matrixformule en moet bevestigd worden met Ctrl+Shift+Enter.
Dat was ik vergeten erbij te zetten, vandaar dat je #WAARDE krijgt.
Hier is $A$7 vervangen door een formule die het eerste negatieve getal zoekt in
kolom A
=VERGELIJKEN("-";TEKST($A$1:$A$100;"");0)
zoekt het eerste negatieve getal in A1:A100 en geeft daarvan de plaats (rij) als
uitkomst
Gecombineerd met INDEX wordt dan de waarde uit die cel gehaald en levert dat dus het
eerste negatieve getal op.
Wordt er geen negatief getal gevonden, dan krijg je een foutmelding: #N/B
Jan
Hallo Jan,
Ik heb het idee dat het aardig moet kloppen, maar ik kan je formule
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A
$100;"­");0));0);A1)
niet helemaal volgen. Ik krijg ook de melding #Waarde!
Zou je de formule iets kunnen toelichten
Hartelijk dank
Joost
Post by jan
Joost,
In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule kunnen
zijn
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
Deze doorvoeren tot aan A6.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­");0));0);A1)
en deze doorvoeren tot aan de cel met negatieve waarde
Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
Jan, bedankt voor je toelichting ik begrijp de formule nu.
Helaas krijg ik nu ondanks ctrl-shift-enter de melding #N/B terwijl er
wel negatieve waarden in de reeks staan. Het heeft te maken met de
matrixformule, want als ik alleen het deel =VERGELIJKEN("-";TEKST($A
$1:$A$100;"­");0) gebruik krijg ik dezelfde melding.
Ik werk nog met excel 2000.

Weet je waar het mee te maken kan hebben?

Joost
jan
2008-05-15 09:02:09 UTC
Permalink
Joost,

Gaat het met de eenvoudige formule wel goed:

=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)

waarbij in A7 het eerste negatieve getal staat?

Waar staat het eerste negatieve getal?

Jan
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
In deze formule staat in A7 het negatieve getal. Dat ligt dus vast in de formule.
SOM($A$1:A1) geeft, bij doorvoeren naar beneden de lopende som voor kolom A.
Daar wordt het negatieve getal bij opgeteld. Zolang dat negatief is is 0 groter en
wordt 0 als resultaat gegeven door het gebruik van MAX.
Vanaf de cel dat het nagatieve getal a.h.w. op is levert dit geheel een getal op dat
groter is dan de waarde in de overeenkomstige cel in kolom A. Met MIN wordt dan de
waarde uit kolom teruggegeven.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­");0));0);A1)
Deze formule is een matrixformule en moet bevestigd worden met Ctrl+Shift+Enter.
Dat was ik vergeten erbij te zetten, vandaar dat je #WAARDE krijgt.
Hier is $A$7 vervangen door een formule die het eerste negatieve getal zoekt in
kolom A
=VERGELIJKEN("-";TEKST($A$1:$A$100;"");0)
zoekt het eerste negatieve getal in A1:A100 en geeft daarvan de plaats (rij) als
uitkomst
Gecombineerd met INDEX wordt dan de waarde uit die cel gehaald en levert dat dus het
eerste negatieve getal op.
Wordt er geen negatief getal gevonden, dan krijg je een foutmelding: #N/B
Jan
Hallo Jan,
Ik heb het idee dat het aardig moet kloppen, maar ik kan je formule
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A
$100;"­");0));0);A1)
niet helemaal volgen. Ik krijg ook de melding #Waarde!
Zou je de formule iets kunnen toelichten
Hartelijk dank
Joost
Post by jan
Joost,
In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule kunnen
zijn
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
Deze doorvoeren tot aan A6.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­");0));0);A1)
en deze doorvoeren tot aan de cel met negatieve waarde
Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk bericht
niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
Jan, bedankt voor je toelichting ik begrijp de formule nu.
Helaas krijg ik nu ondanks ctrl-shift-enter de melding #N/B terwijl er
wel negatieve waarden in de reeks staan. Het heeft te maken met de
matrixformule, want als ik alleen het deel =VERGELIJKEN("-";TEKST($A
$1:$A$100;"­");0) gebruik krijg ik dezelfde melding.
Ik werk nog met excel 2000.

Weet je waar het mee te maken kan hebben?

Joost
JOOST
2008-05-15 13:25:42 UTC
Permalink
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
waarbij in A7 het eerste negatieve getal staat?
Waar staat het eerste negatieve getal?
Jan
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
In deze formule staat in A7 het negatieve getal. Dat ligt dus vast in de formule.
SOM($A$1:A1) geeft, bij doorvoeren naar beneden de lopende som voor kolom A.
Daar wordt het negatieve getal bij opgeteld. Zolang dat negatief is is 0 groter en
wordt 0 als resultaat gegeven door het gebruik van MAX.
Vanaf de cel dat het nagatieve getal a.h.w. op is levert dit geheel een getal op dat
groter is dan de waarde in de overeenkomstige cel in kolom A. Met MIN wordt dan de
waarde uit kolom teruggegeven.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­­");0));0);A1)
Deze formule is een matrixformule en moet bevestigd worden met Ctrl+Shift+Enter.
Dat was ik vergeten erbij te zetten, vandaar dat je #WAARDE krijgt.
Hier is $A$7 vervangen door een formule die het eerste negatieve getal zoekt in
kolom A
=VERGELIJKEN("-";TEKST($A$1:$A$100;"");0)
zoekt het eerste negatieve getal in A1:A100 en geeft daarvan de plaats (rij) als
uitkomst
Gecombineerd met INDEX wordt dan de waarde uit die cel gehaald en levert dat dus het
eerste negatieve getal op.
Wordt er geen negatief getal gevonden, dan krijg je een foutmelding: #N/B
Jan
Hallo Jan,
Ik heb het idee dat het aardig moet kloppen, maar ik kan je formule
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A
$100;"­");0));0);A1)
niet helemaal volgen. Ik krijg ook de melding #Waarde!
Zou je de formule iets kunnen toelichten
Hartelijk dank
Joost
Post by jan
Joost,
In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule kunnen
zijn
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
Deze doorvoeren tot aan A6.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­­");0));0);A1)
en deze doorvoeren tot aan de cel met negatieve waarde
Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk bericht
niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
Jan, bedankt voor je toelichting ik begrijp de formule nu.
Helaas krijg ik nu ondanks ctrl-shift-enter de melding #N/B terwijl er
wel negatieve waarden in de reeks staan. Het heeft te maken met de
matrixformule, want als ik alleen het deel =VERGELIJKEN("-";TEKST($A
$1:$A$100;"­");0) gebruik krijg ik dezelfde melding.
Ik werk nog met excel 2000.
Weet je waar het mee te maken kan hebben?
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
vergat de vraag van Jan te beantwoorden:
de eenvoudige formule functioneert wel; maar geeft niet het gewenste
resultaat

als ik dan het voorbeeld weergeef dan zou het resultaat als volgt
moeten zijn:

reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1 -6 =0 rest -5
-8 is verwerkt
4 4-5 = 0 rest -1
5 5-1 = 4
-6 is verwerkt dus blijft 4 van hierboven over

Joost
jan
2008-05-15 13:48:41 UTC
Permalink
Joost,

Dan voldoet de formule wel gezien een andere opmerking van je, dat het negatieve
getal het laatste is. Je moet in jouw voorbeeld dan wel $A$7 wijzigen in $A$5

Nu je een vervolgvraag stelt voldoet de formule nog slechts voor de groep getallen
tot het eerste negatieve getal en uiteraard niet meer voor de reeksen erna.

Jan
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
waarbij in A7 het eerste negatieve getal staat?
Waar staat het eerste negatieve getal?
Jan
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
In deze formule staat in A7 het negatieve getal. Dat ligt dus vast in de formule.
SOM($A$1:A1) geeft, bij doorvoeren naar beneden de lopende som voor kolom A.
Daar wordt het negatieve getal bij opgeteld. Zolang dat negatief is is 0 groter en
wordt 0 als resultaat gegeven door het gebruik van MAX.
Vanaf de cel dat het nagatieve getal a.h.w. op is levert dit geheel een getal op dat
groter is dan de waarde in de overeenkomstige cel in kolom A. Met MIN wordt dan de
waarde uit kolom teruggegeven.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­­");0));0);A1)
Deze formule is een matrixformule en moet bevestigd worden met Ctrl+Shift+Enter.
Dat was ik vergeten erbij te zetten, vandaar dat je #WAARDE krijgt.
Hier is $A$7 vervangen door een formule die het eerste negatieve getal zoekt in
kolom A
=VERGELIJKEN("-";TEKST($A$1:$A$100;"");0)
zoekt het eerste negatieve getal in A1:A100 en geeft daarvan de plaats (rij) als
uitkomst
Gecombineerd met INDEX wordt dan de waarde uit die cel gehaald en levert dat dus het
eerste negatieve getal op.
Wordt er geen negatief getal gevonden, dan krijg je een foutmelding: #N/B
Jan
Hallo Jan,
Ik heb het idee dat het aardig moet kloppen, maar ik kan je formule
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A
$100;"­");0));0);A1)
niet helemaal volgen. Ik krijg ook de melding #Waarde!
Zou je de formule iets kunnen toelichten
Hartelijk dank
Joost
Post by jan
Joost,
In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule kunnen
zijn
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
Deze doorvoeren tot aan A6.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­­");0));0);A1)
en deze doorvoeren tot aan de cel met negatieve waarde
Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk bericht
niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
Jan, bedankt voor je toelichting ik begrijp de formule nu.
Helaas krijg ik nu ondanks ctrl-shift-enter de melding #N/B terwijl er
wel negatieve waarden in de reeks staan. Het heeft te maken met de
matrixformule, want als ik alleen het deel =VERGELIJKEN("-";TEKST($A
$1:$A$100;"­");0) gebruik krijg ik dezelfde melding.
Ik werk nog met excel 2000.
Weet je waar het mee te maken kan hebben?
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
vergat de vraag van Jan te beantwoorden:
de eenvoudige formule functioneert wel; maar geeft niet het gewenste
resultaat

als ik dan het voorbeeld weergeef dan zou het resultaat als volgt
moeten zijn:

reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1 -6 =0 rest -5
-8 is verwerkt
4 4-5 = 0 rest -1
5 5-1 = 4
-6 is verwerkt dus blijft 4 van hierboven over

Joost
jan
2008-05-15 14:31:22 UTC
Permalink
Joost,

Als je met een hulpkolom wilt werken, zal het waarschijnlijk zo lukken:

In kolom B:

B1: 1

B2: =ALS(A1<0;RIJ();B1)

C1:
=MIN(MAX(SOM($A$1:A1)+INDEX($A1:$A$100;VERGELIJKEN("-";TEKST($A1:$A$100;"");0));0);A1)

C2: =MIN(MAX(SOM(INDIRECT("$A$" &
B1):A2)+INDEX($A2:$A$100;VERGELIJKEN("-";TEKST($A2:$A$100;"");0));0);A2)

De formules in C1 en C2 zijn matrixformules dus bevestigen met Ctrl+Shift+Enter

De formules in B2 en C2 zover doorvoeren als wenselijk is.

Jan
Post by jan
Joost,
Dan voldoet de formule wel gezien een andere opmerking van je, dat het negatieve
getal het laatste is. Je moet in jouw voorbeeld dan wel $A$7 wijzigen in $A$5
Nu je een vervolgvraag stelt voldoet de formule nog slechts voor de groep getallen
tot het eerste negatieve getal en uiteraard niet meer voor de reeksen erna.
Jan
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
waarbij in A7 het eerste negatieve getal staat?
Waar staat het eerste negatieve getal?
Jan
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
In deze formule staat in A7 het negatieve getal. Dat ligt dus vast in de formule.
SOM($A$1:A1) geeft, bij doorvoeren naar beneden de lopende som voor kolom A.
Daar wordt het negatieve getal bij opgeteld. Zolang dat negatief is is 0 groter en
wordt 0 als resultaat gegeven door het gebruik van MAX.
Vanaf de cel dat het nagatieve getal a.h.w. op is levert dit geheel een getal
op
dat
groter is dan de waarde in de overeenkomstige cel in kolom A. Met MIN wordt dan de
waarde uit kolom teruggegeven.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­­");0));0);A1)
Deze formule is een matrixformule en moet bevestigd worden met Ctrl+Shift+Enter.
Dat was ik vergeten erbij te zetten, vandaar dat je #WAARDE krijgt.
Hier is $A$7 vervangen door een formule die het eerste negatieve getal zoekt in
kolom A
=VERGELIJKEN("-";TEKST($A$1:$A$100;"");0)
zoekt het eerste negatieve getal in A1:A100 en geeft daarvan de plaats (rij) als
uitkomst
Gecombineerd met INDEX wordt dan de waarde uit die cel gehaald en levert dat
dus
het
eerste negatieve getal op.
Wordt er geen negatief getal gevonden, dan krijg je een foutmelding: #N/B
Jan
Hallo Jan,
Ik heb het idee dat het aardig moet kloppen, maar ik kan je formule
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A
$100;"­");0));0);A1)
niet helemaal volgen. Ik krijg ook de melding #Waarde!
Zou je de formule iets kunnen toelichten
Hartelijk dank
Joost
Post by jan
Joost,
In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule kunnen
zijn
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
Deze doorvoeren tot aan A6.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­­");0));0);A1)
en deze doorvoeren tot aan de cel met negatieve waarde
Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk bericht
niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
Jan, bedankt voor je toelichting ik begrijp de formule nu.
Helaas krijg ik nu ondanks ctrl-shift-enter de melding #N/B terwijl er
wel negatieve waarden in de reeks staan. Het heeft te maken met de
matrixformule, want als ik alleen het deel =VERGELIJKEN("-";TEKST($A
$1:$A$100;"­");0) gebruik krijg ik dezelfde melding.
Ik werk nog met excel 2000.
Weet je waar het mee te maken kan hebben?
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
de eenvoudige formule functioneert wel; maar geeft niet het gewenste
resultaat
als ik dan het voorbeeld weergeef dan zou het resultaat als volgt
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1 -6 =0 rest -5
-8 is verwerkt
4 4-5 = 0 rest -1
5 5-1 = 4
-6 is verwerkt dus blijft 4 van hierboven over
Joost
JOOST
2008-05-21 14:43:04 UTC
Permalink
Post by jan
Joost,
B1: 1
B2: =ALS(A1<0;RIJ();B1)
=MIN(MAX(SOM($A$1:A1)+INDEX($A1:$A$100;VERGELIJKEN("-";TEKST($A1:$A$100;"")­;0));0);A1)
C2: =MIN(MAX(SOM(INDIRECT("$A$" &
B1):A2)+INDEX($A2:$A$100;VERGELIJKEN("-";TEKST($A2:$A$100;"");0));0);A2)
De formules in C1 en C2 zijn matrixformules dus bevestigen met Ctrl+Shift+Enter
De formules in B2 en C2 zover doorvoeren als wenselijk is.
Jan
Post by jan
Joost,
Dan voldoet de formule wel gezien een andere opmerking van je, dat het negatieve
getal het laatste is. Je moet in jouw voorbeeld dan wel $A$7 wijzigen in $A$5
Nu je een vervolgvraag stelt voldoet de formule nog slechts voor de groep getallen
tot het eerste negatieve getal en uiteraard niet meer voor de reeksen erna.
Jan
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
waarbij in A7 het eerste negatieve getal staat?
Waar staat het eerste negatieve getal?
Jan
Post by jan
Joost,
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
In deze formule staat in A7 het negatieve getal. Dat ligt dus vast in de formule.
SOM($A$1:A1) geeft, bij doorvoeren naar beneden de lopende som voor kolom A.
Daar wordt het negatieve getal bij opgeteld. Zolang dat negatief is is 0 groter
en
wordt 0 als resultaat gegeven door het gebruik van MAX.
Vanaf de cel dat het nagatieve getal a.h.w. op is levert dit geheel een getal
op
dat
groter is dan de waarde in de overeenkomstige cel in kolom A. Met MIN wordt dan
de
waarde uit kolom teruggegeven.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­­­");0));0);A1)
Deze formule is een matrixformule en moet bevestigd worden met Ctrl+Shift+Enter.
Dat was ik vergeten erbij te zetten, vandaar dat je #WAARDE krijgt.
Hier is $A$7 vervangen door een formule die het eerste negatieve getal zoekt in
kolom A
=VERGELIJKEN("-";TEKST($A$1:$A$100;"");0)
zoekt het eerste negatieve getal in A1:A100 en geeft daarvan de plaats (rij) als
uitkomst
Gecombineerd met INDEX wordt dan de waarde uit die cel gehaald en levert dat
dus
het
eerste negatieve getal op.
Wordt er geen negatief getal gevonden, dan krijg je een foutmelding: #N/B
Jan
Hallo Jan,
Ik heb het idee dat het aardig moet kloppen, maar ik kan je formule
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A
$100;"­");0));0);A1)
niet helemaal volgen. Ik krijg ook de melding #Waarde!
Zou je de formule iets kunnen toelichten
Hartelijk dank
Joost
Post by jan
Joost,
In kolom A de getallen, in A7 het negatieve getal, dan zou dit een formule
kunnen
zijn
=MIN(MAX(SOM($A$1:A1)+$A$7;0);A1)
Deze doorvoeren tot aan A6.
=MIN(MAX(SOM($A$1:A1)+INDEX($A$1:$A$100;VERGELIJKEN("-";TEKST($A$1:$A$100;"­­­­");0));0);A1)
en deze doorvoeren tot aan de cel met negatieve waarde
Jan
Post by Dodo
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
Waar komt die eerste -8 vandaan?
--
It is I, DeauDeau
(Free after monsieur Leclerc in 'Allo, 'allo)
de eerste 8 is het laatste cijfer in de reeks. Dus zodra in de reeks
een negatief getal staat wordt er vanaf boven de positieve getallen
naar nul gebracht. Hopelijk is het duidelijk.
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk
bericht
niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
Jan, bedankt voor je toelichting ik begrijp de formule nu.
Helaas krijg ik nu ondanks ctrl-shift-enter de melding #N/B terwijl er
wel negatieve waarden in de reeks staan. Het heeft te maken met de
matrixformule, want als ik alleen het deel =VERGELIJKEN("-";TEKST($A
$1:$A$100;"­");0) gebruik krijg ik dezelfde melding.
Ik werk nog met excel 2000.
Weet je waar het mee te maken kan hebben?
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
de eenvoudige formule functioneert wel; maar geeft niet het gewenste
resultaat
als ik dan het voorbeeld weergeef dan zou het resultaat als volgt
reeks     resultaat met formule
3            3-8 = 0 rest -5
4            4-5 (dit is de bovenstaande rest) = 0 rest -1
0            0-1 = 0 rest -1
2            2-1 = 1  -6 =0 rest -5
-8           is verwerkt
4           4-5 = 0 rest -1
5           5-1 = 4
-6           is verwerkt dus blijft 4 van hierboven over
Joost- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
Hallo Jan,

Ik ben er nog mee bezig geweest.
Het gaat bijna goed.

Ik heb de volgende reeks gemaakt en het resultaat staat daarachter; in
de laatste rij hetgeen er volgens de forumles uitkomt

3 0 0
4 0 0
0 0 1
2 0 -8
-8 0 0
4 0 3
5 4 3
-6

Wanneer ik de formule aanpas in =ALS(A2<0;C1;MIN(MAX(SOM(INDIRECT("$A
$" &
B1):A2)+INDEX($A2:$A$100;VERGELIJKEN("-";TEKST($A2:$A$100;"");0));
0);A2))


dan krijg ik als resultaat:
0
0
0
1
1
0
3
3
Hetgeen bijna goed is, maar nog niet helemaal.
Ik hoop dat je snapt wat ik bedoel
groeten
Joost
jan
2008-05-21 15:31:26 UTC
Permalink
JOOST,

Ik had de formules ondertussen wat aangepast:

In B1: 1
In B2: =ALS(A1<0;RIJ();ALS(A2<0;0;B1))

In C1:
=ALS(A1<0;"Verwerkt";MIN(MAX(SOM($A$1:A1)+INDEX($A1:$A$100;VERGELIJKEN(0;$B1:$B$100;0));0);A1))

In C2: =ALS(A2<0;"Verwerkt";MIN(MAX(SOM(INDIRECT("$A$" &
B2):A2)+INDEX($A2:$A$100;VERGELIJKEN(0;$B2:$B$100;0));0);A2))

Formules in C1 en C2 zijn gewone formules en dus geen matrixformules meer
Formules in B2 en C2 doorvoeren naar beneden.

Als een waarde in kolom A negatief is, komt in kolom C: Verwerkt

Was dat je bedoeling?

Jan
JOOST
2008-05-22 08:51:41 UTC
Permalink
Post by jan
JOOST,
In B1: 1
In B2: =ALS(A1<0;RIJ();ALS(A2<0;0;B1))
=ALS(A1<0;"Verwerkt";MIN(MAX(SOM($A$1:A1)+INDEX($A1:$A$100;VERGELIJKEN(0;$B­1:$B$100;0));0);A1))
In C2: =ALS(A2<0;"Verwerkt";MIN(MAX(SOM(INDIRECT("$A$" &
B2):A2)+INDEX($A2:$A$100;VERGELIJKEN(0;$B2:$B$100;0));0);A2))
Formules in C1 en C2 zijn gewone formules en dus geen matrixformules meer
Formules in B2 en C2 doorvoeren naar beneden.
Als een waarde in kolom A negatief is, komt in kolom C: Verwerkt
Was dat je bedoeling?
Jan
Hallo Jan, prettig dat je zo meedenkt. Ik hoop dat we aan de laatste
stap toe zijn. Het gaat bijna goed.
Op het moment dat er twee negatieve getallen onder elkaar staan wordt
er wel aangegeven dat het getal verwerkt is; maar het wordt niet in
mindering gebracht op een eerder getal. Is dat ook nog mogelijk.

Joost
jan
2008-05-22 09:03:10 UTC
Permalink
Joost,

Gezien de eerdere vraagstelling, verwerken van de negatieve getallen over de groep
er bovenstaande positieve getallen (ofwel de positieve getallen tussen twee
negatieve worden verrekend met het onderste negatieve getal), zou ik niet weten met
welke positieve getallen dat negatieve getal, direct volgend op een vorig negatief
getal, verwerkt zou moeten worden.

Nu je het wel wilt verwerken, met welke getallen is dat dan?

Jan
JOOST
2008-05-22 09:40:58 UTC
Permalink
Post by jan
Joost,
Gezien de eerdere vraagstelling, verwerken van de negatieve getallen over de groep
er bovenstaande positieve getallen (ofwel de positieve getallen tussen twee
negatieve worden verrekend met het onderste negatieve getal), zou ik niet weten met
welke positieve getallen dat negatieve getal, direct volgend op een vorig negatief
getal, verwerkt zou moeten worden.
Nu je het wel wilt verwerken, met welke getallen is dat dan?
Jan
Hallo Jan, blijkbaar ben ik niet duidelijk genoeg geweest: misschien
is het handiger dat ik een excel bestand aan je mail?
Joost
jan
2008-05-22 11:01:13 UTC
Permalink
Joost,

Dat kan aan onderstaand adres:

#j#g#k#o#k#AA#f#r#e#e#l#e#r#.#n#l#

# verwijderen
AA=@

Jan

]-[oRus
2008-05-15 08:40:56 UTC
Permalink
Post by JOOST
Hallo,
ik heb een reeks getallen bijv. zoals hieronder. Wanneer in de reeks
een negatief getal voorkomt wil ik in de kolom ernaast het negatieve
getal in mindering gebracht hebben vanaf het bovenste getal. Echter
wanneer het positieve getal kleiner is dan het negatieve wil ik als
antwoord nul hebben en vervolgens het restgetal in mindering brengen
bij het volgende positieve getal. Heeft iemand een suggestie voor de
formule.
reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1
-8 0
alvast bedankt
Joost
In B1 de formule: =MAX(SOM($A$1:$A1)+MIN($A$1:$A$5;0);0)
en dat doorvoeren naar beneden.
Dit gaat er wel van uit dat er maar 1 negatief getal in de reeks
staat. Anders wordt het laagste negatieve getal gebruikt (MIN()).
--
Vriendelijke groeten,

]-[oRus
www.westbrabantsevwg.nl
JOOST
2008-05-15 13:04:09 UTC
Permalink
Post by ]-[oRus
Post by JOOST
Hallo,
ik heb een reeks getallen bijv. zoals hieronder. Wanneer in de reeks
een negatief getal voorkomt wil ik in de kolom ernaast het negatieve
getal in mindering gebracht hebben vanaf het bovenste getal. Echter
wanneer het positieve getal kleiner is dan het negatieve wil ik als
antwoord nul hebben en vervolgens het restgetal in mindering brengen
bij het volgende positieve getal. Heeft iemand een suggestie voor de
formule.
reeks     resultaat met formule
3            3-8 = 0 rest -5
4            4-5 (dit is de bovenstaande rest) = 0 rest -1
0            0-1 = 0 rest -1
2            2-1 = 1
-8           0
alvast bedankt
Joost
In B1 de formule: =MAX(SOM($A$1:$A1)+MIN($A$1:$A$5;0);0)
en dat doorvoeren naar beneden.
Dit gaat er wel van uit dat er maar 1 negatief getal in de reeks
staat. Anders wordt het laagste negatieve getal gebruikt (MIN()).
--
Vriendelijke groeten,
]-[oRuswww.westbrabantsevwg.nl- Tekst uit oorspronkelijk bericht niet weergeven -
- Tekst uit oorspronkelijk bericht weergeven -
Hallo Jan en ...

Nog even ter aanvulling: De reeks bestaat uit 52 getallen in a1:a52 en
kunnen willekeurig positief als negatief zijn.
Dus in feite is het probleem nog ingewikkelder:

reeks resultaat met formule
3 3-8 = 0 rest -5
4 4-5 (dit is de bovenstaande rest) = 0 rest -1
0 0-1 = 0 rest -1
2 2-1 = 1 -6 =0 rest -5
-8 is verwerkt
4 4-5 = 0 rest -1
5 5-1 = 4
-6 is verwerkt dus blijft 4 van hierboven over

Joost
Loading...