Difference between revisions of "NL/Documentation/How Tos/Optellen en tellen met voorwaarden"

From Apache OpenOffice Wiki
Jump to: navigation, search
m
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Calc]]
+
{{DISPLAYTITLE:Optellen en tellen met voorwaarden}}
[[Category:How to]]
+
{{Documentation/nl/InBewerking}}
+
 
+
 
<!--
 
<!--
Author: David King
+
Auteur: David King
 
//-->
 
//-->
 
+
Auteur van het originele document: Arthur King - [[Documentation/How_Tos/Conditional_Counting_and_Summation|Conditional Counting and Summation]]
  
 
=Optellen en tellen met voorwaarden in Calc=
 
=Optellen en tellen met voorwaarden in Calc=
Line 15: Line 12:
 
==AANTAL==
 
==AANTAL==
  
The [[Documentation/How_Tos/Calc: COUNT function|COUNT function]] counts the number of cells which contain numbers and will ignore any others. For example text cells are ignored.
+
De [[NL/Documentation/How_Tos/Calc: functie AANTAL|functie AANTAL]] telt het aantal cellen dat getallen bevat en negeert alle andere. Tekstcellen worden bijvoorbeeld genegeerd.
  
 
==AANTAL.ALS==
 
==AANTAL.ALS==
  
The [[Documentation/How_Tos/Calc: COUNTA function|COUNTA function]] counts the number of cells which contain anything (text, numbers, errors, logical values, formulas). It ignores empty (blank) cells.
+
De [[NL/Documentation/How_Tos/Calc: functie AANTAL.ALS|functie AANTAL.ALS]] telt het aantal cellen dat iets bevat (tekst, getallen, fouten, logische waarden, formules). Het negeert lege (blanco) cellen.
  
==COUNTBLANK==
+
==AANTAL.LEGE.CELLEN==
  
The [[Documentation/nl/How_Tos/Calc: COUNTBLANK function|COUNTBLANK function]] counts the number of empty (blank) cells.
+
De [[NL/Documentation/How_Tos/Calc: functie AANTAL.LEGE.CELLEN|functie AANTAL.LEGE.CELLEN]] telt het aantal lege (blanco) cellen.
  
 
==SOM==
 
==SOM==
  
The [[Documentation/nl/How_Tos/Calc: SUM function|SUM function]] sums all the numbers in the specified cells. See later for how to use it as a conditional function.
+
De [[NL/Documentation/How_Tos/Calc: functie SOM|functie SOM]] somt alle getallen in de opgegeven cellen op. Zie hieronder om dit te gebruiken als een functie met voorwaarden.
  
==SUBTOTAL==
+
==SUBTOTAAL==
  
The [[Documentation/How_Tos/Calc: SUBTOTAL function|SUBTOTAL function]] returns <tt>'''COUNT'''</tt>, <tt>'''COUNTA'''</tt> or <tt>'''SUM'''</tt> results for filtered data, that is data in cells chosen by a '''filter'''.
+
De [[NL/Documentation/How_Tos/Calc: functie SUBTOTAAL|functie SUBTOTAAL]] geeft de resultaten voor <tt>'''AANTAL'''</tt>, <tt>'''AANTALARG'''</tt> of <tt>'''SOM'''</tt> terug voor gefilterde gegevens, dat zijn gegevens in cellen die zijn gekozen met een '''filter'''.
  
==COUNTIF==
+
==AANTAL.ALS==
  
The [[Documentation/How_Tos/Calc: COUNTIF function|COUNTIF function]] counts those items that meet a single condition. For example <tt>'''COUNTIF(A1:A4; ">4")'''</tt> counts the cells in <tt>'''A1:A4'''</tt> that are greater than <tt>'''4'''</tt>.
+
De [[NL/Documentation/How_Tos/Calc: functie AANTAL.ALS|functie AANTAL.ALS]] telt die items die voldoen aan één enkele voorwaarde. <tt>'''AANTAL.ALS(A1:A4; ">4")'''</tt> telt bijvoorbeeld de cellen in <tt>'''A1:A4'''</tt> die groter zijn dan <tt>'''4'''</tt>.
  
==SUMIF==
+
==SOM.ALS==
  
The [[Documentation/How_Tos/Calc: SUMIF function|SUMIF function]] sums those items that meet a single condition. For example <tt>'''SUMIF(A1:A4; "=red"; B1:B4)'''</tt> sums the values in <tt>'''B1:B4'''</tt> that correspond to “<tt>'''red'''</tt>” entries in <tt>'''A1:A4'''</tt>.
+
De [[NL/Documentation/How_Tos/Calc: functie SOM.ALS|functie SOM.ALS]] telt die items op die aan één enkele voorwaarde voldoen. <tt>'''SOM.ALS(A1:A4; "=rood"; B1:B4)'''</tt> telt bijvoorbeeld de waarden op in <tt>'''B1:B4'''</tt> die overeenkomen met de items “<tt>'''rood'''</tt>” in <tt>'''A1:A4'''</tt>.
  
==DCOUNT, DCOUNTA, DSUM==
+
==DBAANTAL, DBAANTALC, DBSOM==
  
The [[Documentation/How_Tos/Calc: DCOUNT function|DCOUNT function]],
+
De [[NL/Documentation/How_Tos/Calc: functie DBAANTAL|functie DBAANTAL]],
[[Documentation/How_Tos/Calc: DCOUNTA function|DCOUNTA function]], and
+
[[NL/Documentation/How_Tos/Calc: functie DBAANTALC|functie DBAANTALC]] en
[[Documentation/How_Tos/Calc: DSUM function|DSUM function]] perform similarly to <tt>'''COUNT'''</tt>, <tt>'''COUNTA'''</tt> and <tt>'''SUM'''</tt>, except that the cells to be counted or summed are chosen according to a table of conditions. For example, <tt>'''DCOUNT(A1:C5; 0; E6:F7)'''</tt> counts the number of rows of <tt>'''A1:C5'''</tt> for which the multiple conditions specified in <tt>'''E6:F7'''</tt> are all true.
+
[[NL/Documentation/How_Tos/Calc: functie DBSOM|functie DBSOM]] voeren hetzelfde uit als <tt>'''AANTAL'''</tt>, <tt>'''AANTALARG'''</tt> en <tt>'''SOM'''</tt>, met het verschil dat de cellen die moeten worden geteld of opgeteld worden gekozen overeenkomstig een tabel met voorwaarden. <tt>'''DBAANTAL(A1:C5; 0; E6:F7)'''</tt> telt bijvoorbeeld het aantal rijen van <tt>'''A1:C5'''</tt> waarvoor de meerdere voorwaarden, gespecificeerd in <tt>'''E6:F7'''</tt>, allemaal waar zijn.
  
==Conditions in cell ranges==
+
==Voorwaarden in celbereiken==
  
One simple method to count or sum using multiple conditions is to enter those conditions in a new row or column. For example, if <tt>'''A1:A6'''</tt> contains a list of colours and <tt>'''B1:B6'''</tt> a list of sizes, then we can enter in cell <tt>'''D1'''</tt> the formula <tt>'''<nowiki>=(A1="red")</nowiki>'''</tt>, which returns <tt>'''TRUE'''</tt> or <tt>'''FALSE'''</tt> depending if cell <tt>'''A1'''</tt> is <tt>'''red'''</tt> or not. Alternatively, we can enter in cell <tt>'''D1'''</tt> the formula <tt>'''<nowiki>=AND(A1="red"; B1="big")</nowiki>'''</tt>, which returns <tt>'''TRUE'''</tt> if cell <tt>'''A1'''</tt> is <tt>'''red'''</tt> AND cell <tt>'''B1'''</tt> is <tt>'''big'''</tt> and <tt>'''FALSE'''</tt> otherwise. Copy and paste this formula to <tt>'''D2:D6'''</tt> and we have a range of cells which are <tt>'''TRUE'''</tt> if the conditions are met and <tt>'''FALSE'''</tt> otherwise.
+
Een eenvoudige methode om met behulp van meerdere voorwaarden te tellen of op te tellen is om die voorwaarden in een nieuwe rij of kolom in te voeren. Als bijvoorbeeld <tt>'''A1:A6'''</tt> een lijst met kleuren bevat en <tt>'''B1:B6'''</tt> een lijst van grootten, dan kunnen we in cel <tt>'''D1'''</tt> de formule <tt>'''<nowiki>=(A1="rood")</nowiki>'''</tt> invoeren, die <tt>'''WAAR'''</tt> of <tt>'''ONWAAR'''</tt> teruggeeft, afhankelijk van het feit of cel <tt>'''A1'''</tt> <tt>'''rood'''</tt> is of niet. Als alternatief kunnen we in cel <tt>'''D1'''</tt> de formule <tt>'''<nowiki>=EN(A1="rood"; B1="groot")</nowiki>'''</tt> invoeren, die <tt>'''WAAR'''</tt> teruggeeft als cel <tt>'''A1'''</tt> is <tt>'''rood'''</tt> EN cel <tt>'''B1'''</tt> is <tt>'''groot'''</tt> en anders <tt>'''ONWAAR'''</tt>. Kopieer en plak deze formule naar <tt>'''D2:D6'''</tt> en we hebben een celbereik dat <tt>'''WAAR'''</tt> is als aan de voorwaarden wordt voldaan en anders <tt>'''ONWAAR'''</tt> is.
  
[[Image:Condsummation_1.png|example]]
+
[[Image:Condsummation_1_nl.png|voorbeeld]]
  
In numerical calculations, <tt>'''TRUE'''</tt> is treated as <tt>'''1'''</tt>, and <tt>'''FALSE'''</tt> is treated as <tt>'''0'''</tt>. So entering <tt>'''<nowiki>=SUM(D1:D6)</nowiki>'''</tt> will simply sum those <tt>'''1'''</tt>s and <tt>'''0'''</tt>s, and give us the count of items that are both <tt>'''red'''</tt> AND <tt>'''big'''</tt>.
+
In numerieke berekeningen, wordt <tt>'''WAAR'''</tt> behandeld als <tt>'''1'''</tt> en <tt>'''ONWAAR'''</tt> wordt behandeld als <tt>'''0'''</tt>. Dus invoeren van <tt>'''<nowiki>=SOM(D1:D6)</nowiki>'''</tt> zal eenvoudigweg deze <tt>'''1'''</tt>'s en <tt>'''0'''</tt>'s optellen en ons het aantal items geven dat zowel <tt>'''rood'''</tt> EN <tt>'''groot'''</tt> zijn.
  
  
In fact, because <tt>'''TRUE'''</tt> and <tt>'''FALSE'''</tt> evaluate as <tt>'''1'''</tt> and <tt>'''0'''</tt>, we do not need the <tt>'''AND'''</tt> function - in <tt>'''D1'''</tt> we can simply write <tt>'''<nowiki>=(A1="red")*(B1="big")</nowiki>'''</tt>, and copy/paste down to <tt>'''D2:D6'''</tt>.
+
Omdat in feite <tt>'''WAAR'''</tt> en <tt>'''ONWAAR'''</tt> evalueren als <tt>'''1'''</tt> en <tt>'''0'''</tt>, hebben we de functie <tt>'''EN'''</tt> niet nodig - in <tt>'''D1'''</tt> kunnen we eenvoudigweg schrijven <tt>'''<nowiki>=(A1="rood")*(B1="groot")</nowiki>'''</tt>, en dat kopiëren/plakken naar beneden, naar <tt>'''D2:D6'''</tt>.
  
Now let us say that <tt>'''C1:C6'''</tt> contains a list of weights of these items, and we wish to know the total weight for all <tt>'''big'''</tt> <tt>'''red'''</tt> items. In <tt>'''D1'''</tt> we write <tt>'''<nowiki>=(A1="red")*(B1="big")*C1</nowiki>'''</tt>, and copy/paste down to <tt>'''D2:D6'''</tt>. <tt>'''D1'''</tt> will contain the weight in <tt>'''C1'''</tt> if the conditions are met (and zero otherwise) and so on for <tt>'''D2:D6'''</tt>, Therefore <tt>'''<nowiki>=SUM(D1:D6)</nowiki>'''</tt> will now give us the total weight.
+
Laten we nu aannemen dat <tt>'''C1:C6'''</tt> een lijst bevat van gewichten van deze items en dat we het totale gewicht willen weten voor alle items <tt>'''groot'''</tt> en <tt>'''rood'''</tt>. In <tt>'''D1'''</tt> schrijven we <tt>'''<nowiki>=(A1="rood")*(B1="groot")*C1</nowiki>'''</tt> en dat kopiëren/plakken we naar beneden, naar <tt>'''D2:D6'''</tt>. <tt>'''D1'''</tt> zal het gewicht bevatten in <tt>'''C1'''</tt> als aan de voorwaarden wordt voldaan (en anders nul), enzovoort voor <tt>'''D2:D6'''</tt>. Daarom zal <tt>'''<nowiki>=SOM(D1:D6)</nowiki>'''</tt> ons nu het totale gewicht geven.
  
[[Image:Condsummation_2.png|example]]
+
[[Image:Condsummation_2_nl.png|voorbeeld]]
  
Alternatively, it is possible to fill <tt>'''D1:D6'''</tt> with an [[Documentation/How_Tos/Using Arrays|array formula]]. In <tt>'''D1'''</tt>, write <tt>'''<nowiki>=(A1:A6="red")*(B1:B6="big")*C1:C6</nowiki>'''</tt>, and enter by pressing Ctrl_Shift_Enter. All the cells in <tt>'''D1:D6'''</tt> now show the desired weights as before.
+
Als alternatief is het mogelijk om <tt>'''D1:D6'''</tt> te vullen met een [[NL/Documentation/How_Tos/Matrices gebruiken|matrixformule]]. Schrijf in <tt>'''D1'''</tt> <tt>'''<nowiki>=(A1:A6="rood")*(B1:B6="groot")*C1:C6</nowiki>'''</tt>, en voer dat in door op {{key|Ctrl|Shift|Enter}} te drukken. Alle cellen in <tt>'''D1:D6'''</tt> geven nu de gewenste gewichten weer zoals eerder.
  
==SUMPRODUCT==
+
==SOMPRODUCT==
  
The [[Documentation/How_Tos/Calc: SUMPRODUCT function|SUMPRODUCT function]] can be used to perform the counting and summation calculations in the previous section, without using extra columns. It is necessary to understand [[Documentation/How_Tos/Using Arrays|array formulas]] to understand this.
+
De [[NL/Documentation/How_Tos/Calc: functie SOMPRODUCT|functie SUMPRODUCT]] kan worden gebruikt om de berekeningen van tellen en optellen in de vorige sectie uit te voeren, zonder extra kolommen te gebruiken. Het is nodig om kennis te hebben van [[NL/Documentation/How_Tos/Matrices gebruiken|matrixformules]] om dit te begrijpen.
  
  
Using the summation example from the previous section, <tt>'''A1:A6="red"'''</tt>, <tt>'''B1:B6="big"'''</tt> and <tt>'''C1:C6'''</tt> may be treated as 3 separate arrays, not displayed but internally calculated.  
+
Met behulp van het optel-voorbeeld uit de vorige sectie, mogen <tt>'''A1:A6="rood"'''</tt>, <tt>'''B1:B6="groot"'''</tt> en <tt>'''C1:C6'''</tt> worden behandeld als 3 afzonderlijke matrices, niet weergegeven maar intern berekend.  
  
<tt>'''<nowiki>=SUMPRODUCT(A1:A6="red"; B1:B6="big"; C1:C6)</nowiki>'''</tt> will multiply corresponding elements of the arrays together and return their sum, i.e.:
+
<tt>'''<nowiki>=SOMPRODUCT(A1:A6="rood"; B1:B6="groot"; C1:C6)</nowiki>'''</tt> zal de overeenkomende elementen van de matrices met elkaar vermenigvuldigen en hun som teruggeven, dat is:
  
  '''(A1="red")*(B1="big")*C1 + (A2="red")*(B2="big")*C2 + ...'''
+
  '''(A1="rood")*(B1="groot")*C1 + (A2="rood")*(B2="groot")*C2 + ...'''
  
[[Image:Condsummation_3.png|example]]
+
[[Image:Condsummation_3_nl.png|voorbeeld]]
  
This again gives us the total weight, without requiring an extra column.
+
Dit geeft ons opnieuw het totale gewicht, zonder dat een extra kolom vereist is.
  
For portability to Excel, use <tt>'''<nowiki>=SUMPRODUCT((A1:A6="red") * (B1:B6="big") * C1:C6)</nowiki>'''</tt>, as Calc and Excel treat logical results differently.
+
Gebruik <tt>'''<nowiki>=SOMPRODUCT((A1:A6="rood") * (B1:B6="groot") * C1:C6)</nowiki>'''</tt> voor portabiliteit naar Excel, omdat Calc en Excel logische resultaten verschillend behandelen.
  
Notice that <tt>'''SUMPRODUCT'''</tt> formulas are simply entered by pressing the Enter key - they do not require Ctrl_Shift_Enter even though arrays are involved.
+
Merk op dat formules met <tt>'''SOMPRODUCT'''</tt> eenvoudigweg worden ingevoerd met het drukken op de {{key|Enter}}-toets - zij vereisen geen {{key|Ctrl|Shift|Enter}} hoewel er toch matrices bij zijn betrokken.
  
  
Also, be aware that calculations using very large arrays take a lot of computer processing time, and may slow the spreadsheet down.
+
Wees er ook alert op dat berekeningen met hele grote matrices een grote hoeveelheid computertijd vereisen en het werkblad kunnen vertragen.
  
==SUM with array formulas==
+
==SOM met matrixformules==
  
An alternative to SUMPRODUCT is to use the [[Documentation/How_Tos/Calc: SUM function|SUM function]]. The previous example would be written:
+
Een alternatief voor SOMPRODUCT is om de [[NL/Documentation/How_Tos/Calc: functie SOM|functie SOM]] te gebruiken. Het vorige voorbeeld zou dan worden geschreven:
  
  '''<nowiki>=SUM( (A1:A6="red")*(B1:B6="big")*C1:C6) )</nowiki>'''
+
  '''<nowiki>=SOM( (A1:A6="rood")*(B1:B6="groot")*C1:C6) )</nowiki>'''
  
and entered as an array formula by pressing Ctrl_Shift_Enter. As with SUMPRODUCT, this works by multiplying corresponding elements of the arrays together and returning their sum.
+
en worden ingevoerd als een matrixformule door te drukken op {{key|Ctrl|Shift|Enter}}. Net als met SOMPRODUCT, werkt dit door de overeenkomende elementen van de matrices met elkaar vermenigvuldigen en hun som terug te geven.
  
See [[Documentation/How_Tos/Using Arrays|'''Using Arrays''']] for details of array formulas and more examples.
+
Zie [[NL/Documentation/How_Tos/Matrices gebruiken|'''Matrices gebruiken''']] voor de details van matrixformules en meer voorbeelden.
  
==DataPilot==
+
==Draaitabel==
  
Another way to approach conditional counting and summation is to use the DataPilot to generate an interactive table, whereby data can be arranged and summarised according to different points of view.
+
Een andere manier om voorwaardelijk tellen en optellen te benaderen is om de Draaitabel te gebruiken om een interactieve tabel te genereren, waarbij gegevens kunnen worden geschikt en opgeteld, vanuit verschillende invalshoeken.
  
==Tips and Tricks: checking settings==
+
==Tips en trucs: instellingen controleren==
  
When matching text with some functions (such as <tt>'''SUMIF'''</tt>) , the results may well depend on the settings on the ''Tools menu-> Options-> OpenOffice.org Calc-> Calculate'' page. If the user's settings are incorrect, the results may therefore be wrong.
+
Bij het vergelijken van tekst met sommige functies (zoals <tt>'''SOM.ALS'''</tt>), kunnen de resultaten heel goed afhangen van de instellingen in de pagina van het menu {{menu|Extra|Opties|OpenOffice Calc|Berekenen}}. Als de gebruikers-instellingen niet juist zijn, kunnen daarom de resultaten ook verkeerd zijn.
  
[[Image:Condsummation_4.png|settings]]
+
[[Image:Condsummation_4_nl.png|instellingen]]
  
One solution is to include prominently in the spreadsheet a check that the settings are correct. For example:
+
Eén oplossing is om op een prominente plek in het werkblad een controle op te nemen dat de instellingen juist zijn. Bijvoorbeeld:
  
  '''<nowiki>=IF(ISERR(SEARCH(".";"a"));"ERROR: please enable regular expressions";"")</nowiki>'''
+
  '''<nowiki>=ALS(ISFOUT2(VIND.SPEC(".";"a"));"FOUT: schakel alstublieft Reguliere uitdrukkingen in";"")</nowiki>'''
  
will show an error message if regular expressions are disabled.
+
zal een foutbericht weergeven als de reguliere uitdrukkingen zijn uitgeschakeld.
  
Another example - in cell <tt>'''A3'''</tt> enter the text:
+
Een ander voorbeeld - voer in cel <tt>'''A3'''</tt> de tekst:
  
  '''Check: '''
+
  '''Controle: ''' in.
  
In cell <tt>'''A4'''</tt> enter:
+
Voer in cel <tt>'''A4'''</tt> in:
  
  '''<nowiki>="Regular expressions are "&IF(COUNTIF(A3;".*"); "enabled"; "disabled")</nowiki>'''
+
  '''<nowiki>="Reguliere uitdrukkingen zijn "&ALS(AANTAL.ALS(A3;".*"); "ingeschakeld"; "uitgeschakeld")</nowiki>'''
  
In cell <tt>'''A5'''</tt> enter:
+
Voer in cel <tt>'''A5'''</tt> (als 1 regel) in:
  
  '''<nowiki>="Whole cell matching is "&IF(COUNTIF(A3;"<>e"); "enabled"; "disabled")</nowiki>'''
+
  '''<nowiki>="Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn is  
 +
                                "&ALS(AANTAL.ALS(A3;"<>e"); "ingeschakeld"; "uitgeschakeld")</nowiki>'''
  
[[Image:Condsummation_7.png|checking the settings]]
+
[[Image:Condsummation_7_nl.png|de instellingen controleren]]
  
or better, use appropriate error messages.
+
of zelfs beter: gebruik toepasselijke foutberichten.
  
==Tips and Tricks: items between two dates==
+
==Tips en trucs: items tussen twee datums==
  
Dates are stored internally as numbers and can thus be compared easily. For example, to count the number of cells in A1:A6 between two dates, you could use:
+
Datums worden intern opgeslagen als getallen en kunnen dus eenvoudig worden vergeleken. U zou kunnen gebruiken, om bijvoorbeeld het aantal cellen in A1:A6 tussen twee datums te tellen:
  
  '''<nowiki>=SUMPRODUCT(A1:A6>DATEVALUE("5 Nov 06"); A1:A6<DATEVALUE("5 Dec 06"))</nowiki>'''
+
  '''<nowiki>=SOMPRODUCT(A1:A6>DATUMWAARDE("5 nov 08"); A1:A6<DATUMWAARDE("5 dec 08"))</nowiki>'''
  
  
If you express the dates with slashes (e.g. “<tt>'''1/2/2005'''</tt>”) you can dispense with the <tt>'''DATEVALUE'''</tt> function, as Calc will convert the date. However, be aware that in one country this text may be converted to 1Feb05 and in another to 2Jan05.
+
Als u de datums uitdrukt met voorwaartse strepen (slashes) (bijv. “<tt>'''1/2/2008'''</tt>”) kunt u de functie <tt>'''DATUMWAARDE'''</tt> weglaten omdat Calc de datum zal converteren. Wees er echter alert op dat in het ene land dit kan worden geconverteerd naar 1feb08 en in een ander naar 2jan08.
  
==Tips and Tricks: summing the largest/smallest items==
+
==Tips en trucs: de grootste/kleinste items optellen==
  
To add up the largest 3 numbers in <tt>'''A1:A5'''</tt>, the most straightforward method is to enter:
+
Voor het optellen van de 3 grootste getallen in <tt>'''A1:A5'''</tt>, is de meest rechtstreekse methode om in te voeren:
  
<tt>'''<nowiki>=LARGE(A1:A5; 1)</nowiki>'''</tt> in cell <tt>'''B1'''</tt>
+
<tt>'''<nowiki>=GROOTSTE(A1:A5; 1)</nowiki>'''</tt> in cel <tt>'''B1'''</tt>
  
<tt>'''<nowiki>=LARGE(A1:A5; 2)</nowiki>'''</tt> in cell <tt>'''B2'''</tt>
+
<tt>'''<nowiki>=GROOTSTE(A1:A5; 2)</nowiki>'''</tt> in cel <tt>'''B2'''</tt>
  
<tt>'''<nowiki>=LARGE(A1:A5; 3)</nowiki>'''</tt> in cell <tt>'''B3'''</tt>
+
<tt>'''<nowiki>=GROOTSTE(A1:A5; 3)</nowiki>'''</tt> in cel <tt>'''B3'''</tt>
  
 +
zodat de grootste 3 getallen in <tt>'''B1:B3'''</tt> staan en dan te gebruiken de formule:
  
so that the largest 3 numbers are in <tt>'''B1:B3'''</tt>, and then use the formula:
+
<tt>'''<nowiki>=SOM(B1:B3)</nowiki>'''</tt> om het resultaat te geven.
  
<tt>'''<nowiki>=SUM(B1:B3)</nowiki>'''</tt> to give the result.
+
[[Image:Condsummation_5_nl.png|voorbeeld]]
  
[[Image:Condsummation_5.png|example]]
+
Deze methode is zeer helder en wordt daarom in het algemeen daar voor aanbevolen.
  
This method is very clear, and generally therefore to be recommended.
 
  
 +
Indien u echter hetzelfde resultaat wilt bereiken in één enkele cel, zou u kunnen gebruiken
  
However if you wish to derive the same result in a single cell, you could use
 
  
 +
'''<nowiki>=SOMPRODUCT(GROOTSTE(A1:A5; RIJ(A1:A3)))</nowiki>'''
  
'''<nowiki>=SUMPRODUCT(LARGE(A1:A5; ROW(A1:A3)))</nowiki>'''
+
[[Image:Condsummation_6_nl.png|voorbeeld]]
  
[[Image:Condsummation_6.png|example]]
+
Hier is <tt>'''RIJ(A1:A3)'''</tt> een 1-koloms/3-rijen-matrix die de getallen <tt>'''1'''</tt>, <tt>'''2'''</tt> en <tt>'''3'''</tt> bevat.
  
Here <tt>'''ROW(A1:A3)'''</tt> is a 1 column 3 row array containing the numbers <tt>'''1'''</tt>, <tt>'''2'''</tt>, <tt>'''3'''</tt>.
+
<tt>'''GROOTSTE(A1:A5; RIJ(A1:A3))'''</tt> is dan een 1-koloms/3-rijen-matrix die de 3 grootste getallen bevat en <tt>'''SOMPRODUCT'''</tt> telt die eenvoudigweg bij elkaar op. We zouden <tt>'''SOM'''</tt> in plaats van <tt>'''SOMPRODUCT'''</tt> kunnen gebruiken, maar in dat geval moet de formule als een matrixformule worden ingevoerd door op Ctrl_Shift_Enter te drukken.
  
<tt>'''LARGE(A1:A5; ROW(A1:A3))'''</tt> is then a 1 column 3 row array containing the largest 3 numbers and <tt>'''SUMPRODUCT'''</tt> simply adds them up. We could use <tt>'''SUM'''</tt> instead of <tt>'''SUMPRODUCT'''</tt> but in that case the formula must be entered as an array formula by pressing Ctrl_Shift_Enter.
 
  
 +
Gebruik <tt>'''...RIJ(A1:A4)..'''</tt> in plaats van <tt>'''...RIJ(A1:A3)..'''</tt> om (bijvoorbeeld) de 4 grootste getallen op te tellen.
  
To add up the largest 4 numbers (say), use <tt>'''...ROW(A1:A4)..'''</tt> instead of <tt>'''...ROW(A1:A3)..'''</tt>
 
  
 +
Gebruik <tt>'''KLEINSTE(...)'''</tt> in plaats van <tt>'''GROOTSTE(...)'''</tt> om de kleinste getallen op te tellen.
  
To add the smallest numbers, use <tt>'''SMALL(...)'''</tt> instead of <tt>'''LARGE(...)'''</tt>.
+
==Tips en trucs: overeenkomende blanco, etc cellen optellen==
  
==Tips and Tricks: summing matching blank, etc cells==
+
'''<nowiki>=SOMPRODUCT(ISLEEG(A1:A5); B1:B5)</nowiki>'''
  
'''<nowiki>=SUMPRODUCT(ISBLANK(A1:A5); B1:B5)</nowiki>'''
+
somt deze cellen op in <tt>'''B1:B5'''</tt> overeenkomend met de blanco cellen in <tt>'''A1:A5'''</tt>.
  
sums those cells in <tt>'''B1:B5'''</tt> corresponding to blank cells in <tt>'''A1:A5'''</tt>.
+
Anderse soortgelijke functies (bijv. <tt>'''ISTEKST'''</tt>, <tt>'''ISGETAL'''</tt>) kunnen op dezelfde manier worden gebruikt.
  
Other similar functions (e.g. <tt>'''ISTEXT'''</tt>, <tt>'''ISNUMBER'''</tt>) can be used in the same way.
+
==Tips en trucs: meer dan één kolom optellen==
  
==Tips and Tricks: summing more than one column==
+
'''<nowiki>=SOMPRODUCT(D1:D6="rood";E1:E6+F1:F6)</nowiki>'''
  
'''<nowiki>=SUMPRODUCT(D1:D6="red";E1:E6+F1:F6)</nowiki>'''
+
zal de cellen optellen in <tt>'''E1:E6'''</tt> en in <tt>'''F1:F6'''</tt> die overeenkomen met cellen in <tt>'''D1:D6'''</tt> die <tt>'''rood'''</tt> bevatten. Het resultaat is bijvoorbeeld <tt>'''E2+F2+E4+F4'''</tt> als <tt>'''D2'''</tt> en <tt>'''D4'''</tt> "rood" bevatten.
  
will sum cells in <tt>'''E1:E6'''</tt> and in <tt>'''F1:F6'''</tt> which correspond to cells in <tt>'''D1:D6'''</tt> containing <tt>'''red'''</tt>. For example if <tt>'''D2'''</tt> and <tt>'''D4'''</tt> contain red, the result is <tt>'''E2+F2+E4+F4'''</tt>.
+
==Tips en trucs: elke n<sup>e</sup> rij optellen==
  
==Tips and Tricks: summing every nth row==
+
'''<nowiki>=SOMPRODUCT(REST(RIJ(A1:A8); 2)=0; </nowiki> A1:A8)'''
  
'''<nowiki>=SUMPRODUCT(MOD(ROW(A1:A8); 2)=0; </nowiki> A1:A8)'''
+
zal elke tweede rij in <tt>'''A1:A8'''</tt> optellen. Wijzig de <tt>'''=0'''</tt> naar <tt>'''=1'''</tt> om elke tweede rij op te tellen, maar beginnend met de eerste rij. Wijzig de <tt>'''2'''</tt> naar <tt>'''3'''</tt> om elke derde rij op te tellen, enzovoort.
  
will sum every second row in <tt>'''A1:A8'''</tt>. Change the <tt>'''=0'''</tt> to <tt>'''=1'''</tt> to sum every second row, but starting at the first row. Change the <tt>'''2'''</tt> to <tt>'''3'''</tt> to sum every third row, and so on.  
+
[[Image:Condsummation_8_nl.png|voorbeeld]]
  
[[Image:Condsummation_8.png|example]]
+
==Tips en trucs: items met bepaalde opmaak optellen==
  
==Tips and Tricks: summing items with certain formatting==
+
De functie CEL geeft informatie terug over cellen, bijvoorbeeld de opmaak waarin getallen of datums worden weergegeven en de kolombreedte. Het kan dus worden gebruikt met één van bovenstaande methodes. Er bestaat geen functie die de kleur of een lettertype in een cel teruggeeft. Indien er geen onafhankelijke formule, in relatie tot de kleur of lettertype, bestaat, dan kan het nodig zijn om een macro te gebruiken.
  
The CELL function returns information about cells, for instance the format that numbers or dates are displayed in and the column width. It can thus be used with one of the methods above. There is no function that returns the colour or font of a cell. If no independent formula relating to colour or font exists, then it may be necessary to use a macro.
+
==Tips en trucs: overeenkomende items in een afzonderlijke lijst optellen==
  
==Tips and Tricks: summing matching items in a separate list==
+
Stel dat <tt>'''A1:A9'''</tt> een lijst met datums bevat, <tt>'''B1:B9'''</tt> bevat telefoonnummers en <tt>'''C1:C9'''</tt> de kosten van gemaakte telefoongesprekken. <tt>'''F1:F5'''</tt> is een lijst van bepaalde telefoonnummers, en u wilt de totale kosten weten voor gesprekken naar deze nummers.
  
Say that <tt>'''A1:A9'''</tt> contains a list of dates, <tt>'''B1:B9'''</tt> contains phone numbers and <tt>'''C1:C9'''</tt> the costs of making phone calls. <tt>'''F1:F5'''</tt> is a list of certain phone numbers, and you want to know the total cost of calls to these numbers.
 
  
 +
Voer in cel <tt>'''D1'''</tt> in:
  
In cell <tt>'''D1'''</tt> enter:
+
'''<nowiki>=ISGETAL(VERGELIJKEN(B1; F$1:F$5; 0))*C1</nowiki>'''
  
'''<nowiki>=ISNUMBER(MATCH(B1; F$1:F$5; 0))*C1</nowiki>'''
+
en kopieer/plak dat naar beneden, naar <tt>'''D2:D9'''</tt>
  
and copy/paste down to <tt>'''D2:D9'''</tt>
+
<tt>'''<nowiki>=SOM(D1:D9)</nowiki>'''</tt> geeft nu de totale kosten van de gesprekken.
  
<tt>'''<nowiki>=SUM(D1:D9)</nowiki>'''</tt> now gives the total cost of calls.
+
[[Image:Condsummation_9_nl.png|voorbeeld]]
  
[[Image:Condsummation_9.png|example]]
+
Voor het uitvoeren van deze berekening zonder een extra kolom, zou u kunnen gebruiken:
  
To perform this calculation without an extra column, you could use:
+
<nowiki>=SOMPRODUCT(NIET(ISFOUT(VERGELIJKEN(B1:B9; F$1:F$5; 0))); C1:C9)</nowiki>
  
<nowiki>=SUMPRODUCT(NOT(ISERROR(MATCH(B1:B9; F$1:F$5; 0))); C1:C9)</nowiki>
+
We hebben hierboven besproken hoe belangrijk het kan zijn om de instellingen voor Calc te controleren; dit is een goed voorbeeld - als de gebruiker reguliere uitdrukkingen heeft ingeschakeld (de standaard) wordt een telefoonnummer dat is geschreven als (072) 528-1700 geïnterpreteerd als een reguliere uitdrukking en zou overeen kunnen komen met andere items dan (072) 528-1700.
  
We discussed above how it can be important to check Calc settings; this is a good example - if the user has regular expressions turned on (the default) a telephone number written as (720) 528-1700 is interpreted as a regular expression and might match entries other than (720) 528-1700.
 
 
[[fr:Documentation/FR/Calc/Sommes et calculs conditionnels]]
 
 
{{PDL1}}
 
{{PDL1}}
 +
 +
[[Category:Calc]]
 +
[[Category:NL/Documentation/How Tos]]
 +
[[fr:Documentation/FR/Calc/Sommes et calculs conditionnels]]

Latest revision as of 13:54, 26 June 2023

Auteur van het originele document: Arthur King - Conditional Counting and Summation

Optellen en tellen met voorwaarden in Calc

Dit is een overzicht van de verschillende manieren om te tellen en het met voorwaarden optellen van celinhoud, afhankelijk van het resultaat van enkele testen.

AANTAL

De functie AANTAL telt het aantal cellen dat getallen bevat en negeert alle andere. Tekstcellen worden bijvoorbeeld genegeerd.

AANTAL.ALS

De functie AANTAL.ALS telt het aantal cellen dat iets bevat (tekst, getallen, fouten, logische waarden, formules). Het negeert lege (blanco) cellen.

AANTAL.LEGE.CELLEN

De functie AANTAL.LEGE.CELLEN telt het aantal lege (blanco) cellen.

SOM

De functie SOM somt alle getallen in de opgegeven cellen op. Zie hieronder om dit te gebruiken als een functie met voorwaarden.

SUBTOTAAL

De functie SUBTOTAAL geeft de resultaten voor AANTAL, AANTALARG of SOM terug voor gefilterde gegevens, dat zijn gegevens in cellen die zijn gekozen met een filter.

AANTAL.ALS

De functie AANTAL.ALS telt die items die voldoen aan één enkele voorwaarde. AANTAL.ALS(A1:A4; ">4") telt bijvoorbeeld de cellen in A1:A4 die groter zijn dan 4.

SOM.ALS

De functie SOM.ALS telt die items op die aan één enkele voorwaarde voldoen. SOM.ALS(A1:A4; "=rood"; B1:B4) telt bijvoorbeeld de waarden op in B1:B4 die overeenkomen met de items “rood” in A1:A4.

DBAANTAL, DBAANTALC, DBSOM

De functie DBAANTAL, functie DBAANTALC en functie DBSOM voeren hetzelfde uit als AANTAL, AANTALARG en SOM, met het verschil dat de cellen die moeten worden geteld of opgeteld worden gekozen overeenkomstig een tabel met voorwaarden. DBAANTAL(A1:C5; 0; E6:F7) telt bijvoorbeeld het aantal rijen van A1:C5 waarvoor de meerdere voorwaarden, gespecificeerd in E6:F7, allemaal waar zijn.

Voorwaarden in celbereiken

Een eenvoudige methode om met behulp van meerdere voorwaarden te tellen of op te tellen is om die voorwaarden in een nieuwe rij of kolom in te voeren. Als bijvoorbeeld A1:A6 een lijst met kleuren bevat en B1:B6 een lijst van grootten, dan kunnen we in cel D1 de formule =(A1="rood") invoeren, die WAAR of ONWAAR teruggeeft, afhankelijk van het feit of cel A1 rood is of niet. Als alternatief kunnen we in cel D1 de formule =EN(A1="rood"; B1="groot") invoeren, die WAAR teruggeeft als cel A1 is rood EN cel B1 is groot en anders ONWAAR. Kopieer en plak deze formule naar D2:D6 en we hebben een celbereik dat WAAR is als aan de voorwaarden wordt voldaan en anders ONWAAR is.

voorbeeld

In numerieke berekeningen, wordt WAAR behandeld als 1 en ONWAAR wordt behandeld als 0. Dus invoeren van =SOM(D1:D6) zal eenvoudigweg deze 1's en 0's optellen en ons het aantal items geven dat zowel rood EN groot zijn.


Omdat in feite WAAR en ONWAAR evalueren als 1 en 0, hebben we de functie EN niet nodig - in D1 kunnen we eenvoudigweg schrijven =(A1="rood")*(B1="groot"), en dat kopiëren/plakken naar beneden, naar D2:D6.

Laten we nu aannemen dat C1:C6 een lijst bevat van gewichten van deze items en dat we het totale gewicht willen weten voor alle items groot en rood. In D1 schrijven we =(A1="rood")*(B1="groot")*C1 en dat kopiëren/plakken we naar beneden, naar D2:D6. D1 zal het gewicht bevatten in C1 als aan de voorwaarden wordt voldaan (en anders nul), enzovoort voor D2:D6. Daarom zal =SOM(D1:D6) ons nu het totale gewicht geven.

voorbeeld

Als alternatief is het mogelijk om D1:D6 te vullen met een matrixformule. Schrijf in D1 =(A1:A6="rood")*(B1:B6="groot")*C1:C6, en voer dat in door op  Ctrl  +  ⇧ Shift  +  ↵ Enter  te drukken. Alle cellen in D1:D6 geven nu de gewenste gewichten weer zoals eerder.

SOMPRODUCT

De functie SUMPRODUCT kan worden gebruikt om de berekeningen van tellen en optellen in de vorige sectie uit te voeren, zonder extra kolommen te gebruiken. Het is nodig om kennis te hebben van matrixformules om dit te begrijpen.


Met behulp van het optel-voorbeeld uit de vorige sectie, mogen A1:A6="rood", B1:B6="groot" en C1:C6 worden behandeld als 3 afzonderlijke matrices, niet weergegeven maar intern berekend.

=SOMPRODUCT(A1:A6="rood"; B1:B6="groot"; C1:C6) zal de overeenkomende elementen van de matrices met elkaar vermenigvuldigen en hun som teruggeven, dat is:

(A1="rood")*(B1="groot")*C1 + (A2="rood")*(B2="groot")*C2 + ...

voorbeeld

Dit geeft ons opnieuw het totale gewicht, zonder dat een extra kolom vereist is.

Gebruik =SOMPRODUCT((A1:A6="rood") * (B1:B6="groot") * C1:C6) voor portabiliteit naar Excel, omdat Calc en Excel logische resultaten verschillend behandelen.

Merk op dat formules met SOMPRODUCT eenvoudigweg worden ingevoerd met het drukken op de  ↵ Enter -toets - zij vereisen geen  Ctrl  +  ⇧ Shift  +  ↵ Enter  hoewel er toch matrices bij zijn betrokken.


Wees er ook alert op dat berekeningen met hele grote matrices een grote hoeveelheid computertijd vereisen en het werkblad kunnen vertragen.

SOM met matrixformules

Een alternatief voor SOMPRODUCT is om de functie SOM te gebruiken. Het vorige voorbeeld zou dan worden geschreven:

=SOM( (A1:A6="rood")*(B1:B6="groot")*C1:C6) )

en worden ingevoerd als een matrixformule door te drukken op  Ctrl  +  ⇧ Shift  +  ↵ Enter . Net als met SOMPRODUCT, werkt dit door de overeenkomende elementen van de matrices met elkaar vermenigvuldigen en hun som terug te geven.

Zie Matrices gebruiken voor de details van matrixformules en meer voorbeelden.

Draaitabel

Een andere manier om voorwaardelijk tellen en optellen te benaderen is om de Draaitabel te gebruiken om een interactieve tabel te genereren, waarbij gegevens kunnen worden geschikt en opgeteld, vanuit verschillende invalshoeken.

Tips en trucs: instellingen controleren

Bij het vergelijken van tekst met sommige functies (zoals SOM.ALS), kunnen de resultaten heel goed afhangen van de instellingen in de pagina van het menu Extra → Opties → OpenOffice Calc → Berekenen. Als de gebruikers-instellingen niet juist zijn, kunnen daarom de resultaten ook verkeerd zijn.

instellingen

Eén oplossing is om op een prominente plek in het werkblad een controle op te nemen dat de instellingen juist zijn. Bijvoorbeeld:

=ALS(ISFOUT2(VIND.SPEC(".";"a"));"FOUT: schakel alstublieft Reguliere uitdrukkingen in";"")

zal een foutbericht weergeven als de reguliere uitdrukkingen zijn uitgeschakeld.

Een ander voorbeeld - voer in cel A3 de tekst:

Controle:  in.

Voer in cel A4 in:

="Reguliere uitdrukkingen zijn "&ALS(AANTAL.ALS(A3;".*"); "ingeschakeld"; "uitgeschakeld")

Voer in cel A5 (als 1 regel) in:

="Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn is 
                                "&ALS(AANTAL.ALS(A3;"<>e"); "ingeschakeld"; "uitgeschakeld")

de instellingen controleren

of zelfs beter: gebruik toepasselijke foutberichten.

Tips en trucs: items tussen twee datums

Datums worden intern opgeslagen als getallen en kunnen dus eenvoudig worden vergeleken. U zou kunnen gebruiken, om bijvoorbeeld het aantal cellen in A1:A6 tussen twee datums te tellen:

=SOMPRODUCT(A1:A6>DATUMWAARDE("5 nov 08"); A1:A6<DATUMWAARDE("5 dec 08"))


Als u de datums uitdrukt met voorwaartse strepen (slashes) (bijv. “1/2/2008”) kunt u de functie DATUMWAARDE weglaten omdat Calc de datum zal converteren. Wees er echter alert op dat in het ene land dit kan worden geconverteerd naar 1feb08 en in een ander naar 2jan08.

Tips en trucs: de grootste/kleinste items optellen

Voor het optellen van de 3 grootste getallen in A1:A5, is de meest rechtstreekse methode om in te voeren:

=GROOTSTE(A1:A5; 1) in cel B1

=GROOTSTE(A1:A5; 2) in cel B2

=GROOTSTE(A1:A5; 3) in cel B3

zodat de grootste 3 getallen in B1:B3 staan en dan te gebruiken de formule:

=SOM(B1:B3) om het resultaat te geven.

voorbeeld

Deze methode is zeer helder en wordt daarom in het algemeen daar voor aanbevolen.


Indien u echter hetzelfde resultaat wilt bereiken in één enkele cel, zou u kunnen gebruiken


=SOMPRODUCT(GROOTSTE(A1:A5; RIJ(A1:A3)))

voorbeeld

Hier is RIJ(A1:A3) een 1-koloms/3-rijen-matrix die de getallen 1, 2 en 3 bevat.

GROOTSTE(A1:A5; RIJ(A1:A3)) is dan een 1-koloms/3-rijen-matrix die de 3 grootste getallen bevat en SOMPRODUCT telt die eenvoudigweg bij elkaar op. We zouden SOM in plaats van SOMPRODUCT kunnen gebruiken, maar in dat geval moet de formule als een matrixformule worden ingevoerd door op Ctrl_Shift_Enter te drukken.


Gebruik ...RIJ(A1:A4).. in plaats van ...RIJ(A1:A3).. om (bijvoorbeeld) de 4 grootste getallen op te tellen.


Gebruik KLEINSTE(...) in plaats van GROOTSTE(...) om de kleinste getallen op te tellen.

Tips en trucs: overeenkomende blanco, etc cellen optellen

=SOMPRODUCT(ISLEEG(A1:A5); B1:B5)

somt deze cellen op in B1:B5 overeenkomend met de blanco cellen in A1:A5.

Anderse soortgelijke functies (bijv. ISTEKST, ISGETAL) kunnen op dezelfde manier worden gebruikt.

Tips en trucs: meer dan één kolom optellen

=SOMPRODUCT(D1:D6="rood";E1:E6+F1:F6)

zal de cellen optellen in E1:E6 en in F1:F6 die overeenkomen met cellen in D1:D6 die rood bevatten. Het resultaat is bijvoorbeeld E2+F2+E4+F4 als D2 en D4 "rood" bevatten.

Tips en trucs: elke ne rij optellen

=SOMPRODUCT(REST(RIJ(A1:A8); 2)=0;  A1:A8)

zal elke tweede rij in A1:A8 optellen. Wijzig de =0 naar =1 om elke tweede rij op te tellen, maar beginnend met de eerste rij. Wijzig de 2 naar 3 om elke derde rij op te tellen, enzovoort.

voorbeeld

Tips en trucs: items met bepaalde opmaak optellen

De functie CEL geeft informatie terug over cellen, bijvoorbeeld de opmaak waarin getallen of datums worden weergegeven en de kolombreedte. Het kan dus worden gebruikt met één van bovenstaande methodes. Er bestaat geen functie die de kleur of een lettertype in een cel teruggeeft. Indien er geen onafhankelijke formule, in relatie tot de kleur of lettertype, bestaat, dan kan het nodig zijn om een macro te gebruiken.

Tips en trucs: overeenkomende items in een afzonderlijke lijst optellen

Stel dat A1:A9 een lijst met datums bevat, B1:B9 bevat telefoonnummers en C1:C9 de kosten van gemaakte telefoongesprekken. F1:F5 is een lijst van bepaalde telefoonnummers, en u wilt de totale kosten weten voor gesprekken naar deze nummers.


Voer in cel D1 in:

=ISGETAL(VERGELIJKEN(B1; F$1:F$5; 0))*C1

en kopieer/plak dat naar beneden, naar D2:D9

=SOM(D1:D9) geeft nu de totale kosten van de gesprekken.

voorbeeld

Voor het uitvoeren van deze berekening zonder een extra kolom, zou u kunnen gebruiken:

=SOMPRODUCT(NIET(ISFOUT(VERGELIJKEN(B1:B9; F$1:F$5; 0))); C1:C9)

We hebben hierboven besproken hoe belangrijk het kan zijn om de instellingen voor Calc te controleren; dit is een goed voorbeeld - als de gebruiker reguliere uitdrukkingen heeft ingeschakeld (de standaard) wordt een telefoonnummer dat is geschreven als (072) 528-1700 geïnterpreteerd als een reguliere uitdrukking en zou overeen kunnen komen met andere items dan (072) 528-1700.

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages