sumif

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

sumif

Post by sonsjack »

In each cell of col AX is a formula like =IF(AW247>0;TEXT((AW247-F247)/F247;" 0%");"")
I want to sum those cells in col F that correspond with cells in AX of which its fomula results in a positive percentage.
I don't know what is wrong whith me (sorry Hans) because it must be very simple but I can't find it, so please help.

Jack.

User avatar
HansV
Administrator
Posts: 78446
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sumif

Post by HansV »

Don't use the text function here! Change the formula to

=IF(AW247>0;(AW247-F247)/F247;"")

and select Percentage as number format for column AX. SUMIF should then work correctly.
Best wishes,
Hans

User avatar
StuartR
Administrator
Posts: 12604
Joined: 16 Jan 2010, 15:49
Location: London, Europe

Re: sumif

Post by StuartR »

I think you're problem is caused by the TEXT(..., 0%) formula, which means that none of the cells contain numbers, they all have text, so none of them is a positive figure.

Try replacing your formula with =IF(AW247>0;(AW247-F247)/F247;"") and then use cell formatting to display this as a percentage.
StuartR


User avatar
StuartR
Administrator
Posts: 12604
Joined: 16 Jan 2010, 15:49
Location: London, Europe

Re: sumif

Post by StuartR »

As usual, I am 3 minutes behind Hans, and his explanation is better.
StuartR


sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

Re: sumif

Post by sonsjack »

Hans, Stuart,
Col AX must stay as it is now, it works fine. The formula results in each cell in a blank, or something like -12.7% or 5.8%.
That's all Ok.
In col F each cell contains a number e.g. 2472.
I want to calculate the the sum of all F-cells that correspond with a AX-cell (in the same row) that shows (the result of te formula it contains) a positive percentage. I suppose a SUM.IF formula or array formula will do the work but I can't get it.
Maybe something like =SUM.IF((LEFT(AX2:AX251)<>"-")*(AX2:AX251<>"");(F2:F251)) OR ={SUM.IF((LEFT(AX2:AX251)<>"-")*(AX2:AX251<>"");(F2:F251))} ?

User avatar
HansV
Administrator
Posts: 78446
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sumif

Post by HansV »

Why do you want column AX to be text values? That doesn't seem logical.
But if you insist, use SUMPRODUCT:

=SUMPRODUCT((LEFT(AX2:AX251)<>"-")*(AX2:AX251<>"");F2:F251)
Best wishes,
Hans

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

Re: sumif

Post by sonsjack »

Thanks Hans, it works fine now.
By the way, according to your advice I now use
"... replacing your formula with =IF(AW247>0;(AW247-F247)/F247;"") and then use cell formatting to display this as a percentage."

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

sommen.als

Post by sonsjack »

Beste Hans,

Vergeef me dat ik voor het gemak in het Nederlands schrijf.
In C3 t/m C17 heb ik getallen of een woord tekst.
Indien de getallen gelijk zijn aan of groter zijn dan 5.000 wil met sommen.als de betreffende getallen optellen, maar dan wel per betreffend getal afgerond naar beneden op hele duizendtallen. In de optelling doet dus 4.999,99 niet mee en 5000,01 wel maar dat dan wel afgerond naar 5.000,00.
Op dezelfde manier wil ik van C3 t/m C17 de som bepalen van wat volgens het vorenstaande "niet meedoet" (waaronder dus bij voorbeeld genoemde 4.999,99). Dat kan natuurlijk simpel door van de totale som van C3 t/m C17 het sommen.als resultaat af te trekken, maar ik wil het graag toch "op zich zelf" doen.
Ik ben 80+ en zo langzamerhand te lang "uit training"; wees zo goed mij te helpen.

Jack Sons.

User avatar
HansV
Administrator
Posts: 78446
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sumif

Post by HansV »

Voor de eerste vraag:

=SUM(IF(C3:C17>=5000;IFERROR(ROUNDDOWN(C3:C17;-3);0)))

Dit is een matrix-formule die je moet bevestigen met Ctrl+Shift+Enter.

Voor de tweede vraag, aannemend dat je de getallen ook naar beneden wilt afronden op duizendtallen:

=SUM(IF(C3:C17<5000;IFERROR(ROUNDDOWN(C3:C17;-3);0)))
Best wishes,
Hans

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

Re: sumif

Post by sonsjack »

Inzake de tweede vraag Hans: het is mijn bedoeling dat het de som oplevert van alle cellen waarvan der inhoud lager is dan 5000, vermeerderd met wat overblijft van de cellen met 5000 of hoger nadat van elk van dié cellen het gehele duizendtal is afgetrokken.
Zit in een cel bij voorbeeld 43.020,34 dan is de bijdrage aan de "restjes" – die volgens mijn tweede vraag bijeengeteld moeten worden – in dat geval 20,34.
Zit in een cel 4999,24 dan wordt (wegens kleiner dan 5000) de gehele 4999,24 meegeteld.
Graag nog een keer je hulp.

Jack.

User avatar
HansV
Administrator
Posts: 78446
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sumif

Post by HansV »

Dan wordt de tweede formule:

=SUMIF(C3:C17;"<5000")
Best wishes,
Hans

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

Re: sumif

Post by sonsjack »

Ik denk het niet hans, want wat overblijft van de cellen met 5000 of hoger nadat van elk van dié cellen het gehele duizendtal is afgetrokken wordt er niet bij opgeteld, en dat is nou juist wel de bedoeling.

Jack.

User avatar
HansV
Administrator
Posts: 78446
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sumif

Post by HansV »

Nou snap ik niet meer wat de bedoeling is, sorry.
Best wishes,
Hans

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

Re: sumif

Post by sonsjack »

stel:
C3 41.320,50
C4 1.470,50
C5 6,71
C6 30.000,80
C7 6.130,00

Dan zoek ik de formule die de duizendtallen groter of gelijk 5.000 optelt, dus voor C3 41.000 bij voor C6 30.000 en bij voor C7 6.000 wat dus samen oplevert 77.000
en een formule voor de "restjes" dus: voor C3 320,50 plus voor C4 1.470,50 plus voor C5 6,71 plus voor C6 0,80 plus voor C7 130,00 = 1.928.51

User avatar
HansV
Administrator
Posts: 78446
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sumif

Post by HansV »

OK, probeer

=SUM(IFERROR(IF(C3:C17<5000;C3:C17;ROUNDDOWN(C3:C17;-3));0))
Best wishes,
Hans

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

Re: sumif

Post by sonsjack »

De formule heb ik vertaald:
=SOM(ALS.FOUT(ALS(C3:C7<5000;C3:C7;AFRONDEN.NAAR.BENEDEN(C3:C7;-3));0)))
en toegepast op C3 t/m C7
Het levert 0 (nul) op.
Wat doe ik fout?

User avatar
HansV
Administrator
Posts: 78446
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sumif

Post by HansV »

Je moet de formule bevestigen met Ctrl+Shift+Enter
Best wishes,
Hans

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

Re: sumif

Post by sonsjack »

Vreselijk dom, excuus!
Maar met met Ctrl+Shift+Enter levert de formule
={SOM(ALS.FOUT(ALS(C3:C7<5000;C3:C7;AFRONDEN.NAAR.BENEDEN(C3:C7;-3));0)))}
78.477,21 op (wat niet de som is van C3 t/m C7) in plaats van de beoogde "restjes" ad 1.928.51

Jack.

User avatar
HansV
Administrator
Posts: 78446
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sumif

Post by HansV »

Dan wordt het

=SOM(ALS.FOUT(ALS(C3:C17<5000;C3:C17;REST(C3:C7;1000));0))

opnieuw bevestigd met Ctrl+Shift+Enter.
Best wishes,
Hans

sonsjack
NewLounger
Posts: 22
Joined: 02 Jun 2011, 21:46

Re: sumif

Post by sonsjack »

Bingo, dat is 'm Hans. Heel veel dank, ook voor je geduld met mij!

Jack.