Difference between revisions of "NL/Documentation/How Tos/Calc: functie DBSOM"
From Apache OpenOffice Wiki
< NL | Documentation | How Tos
m (→Problemen:) |
m |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== DBSOM == | == DBSOM == | ||
Telt de cellen in een kolom van een databasetabel in Calc bij elkaar op, die in rijen staan die voldoen aan gespecificeerde criteria. | Telt de cellen in een kolom van een databasetabel in Calc bij elkaar op, die in rijen staan die voldoen aan gespecificeerde criteria. | ||
− | |||
=== Syntaxis: === | === Syntaxis: === | ||
Line 16: | Line 15: | ||
:<tt>'''criteria_tabel'''</tt> een bereik is dat criteria bevat, om te selecteren welke rijen van de <tt>'''database_tabel'''</tt> moeten worden opgeteld. | :<tt>'''criteria_tabel'''</tt> een bereik is dat criteria bevat, om te selecteren welke rijen van de <tt>'''database_tabel'''</tt> moeten worden opgeteld. | ||
− | + | Het [[NL/Documentation/How_Tos/Calc: Database-functies|Overzicht database-functies]] beschrijft volledig het gebruik van deze parameters. | |
− | Het [[ | + | |
− | + | ||
=== Voorbeeld: === | === Voorbeeld: === | ||
Line 24: | Line 21: | ||
In dit werkblad: | In dit werkblad: | ||
− | {| | + | {| class="wikitable" style="text-align:center" |
− | + | ! ||'''A'''||'''B'''||'''C'''||'''D'''||'''E''' | |
− | + | |-style="text-align:center" | |
− | + | ||
− | |- | + | |
|'''1'''||Naam||Klas||Leeftijd||Afstand naar school||Gewicht | |'''1'''||Naam||Klas||Leeftijd||Afstand naar school||Gewicht | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''2'''||Andy||3||9||150||40 | |'''2'''||Andy||3||9||150||40 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''3'''||Betty||4||10||1000||42 | |'''3'''||Betty||4||10||1000||42 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''4'''||Charles||3||10||300||51 | |'''4'''||Charles||3||10||300||51 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''5'''||Daniel||5||11||1200||48 | |'''5'''||Daniel||5||11||1200||48 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''6'''||Eva||2||8||650||33 | |'''6'''||Eva||2||8||650||33 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''7'''||Frank||2||7||300||42 | |'''7'''||Frank||2||7||300||42 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''8'''||Greta||1||7||200||36 | |'''8'''||Greta||1||7||200||36 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''9'''||Harry||3||9||1200||44 | |'''9'''||Harry||3||9||1200||44 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''10'''||Irene||2||8||1000||42 | |'''10'''||Irene||2||8||1000||42 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''11'''|| || || || || | |'''11'''|| || || || || | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''12'''|| || || || || | |'''12'''|| || || || || | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''13'''||Naam||Klas||Leeftijd||Afstand naar school||Gewicht | |'''13'''||Naam||Klas||Leeftijd||Afstand naar school||Gewicht | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''14'''|| ||2|| || || | |'''14'''|| ||2|| || || | ||
− | |||
|} | |} | ||
− | |||
<tt>'''DBSOM(A1:E10; "Afstand naar school"; A13:E14)'''</tt> | <tt>'''DBSOM(A1:E10; "Afstand naar school"; A13:E14)'''</tt> | ||
Line 87: | Line 67: | ||
=== Soortgelijk === | === Soortgelijk === | ||
− | [[ | + | [[NL/Documentation/How_Tos/Matrices_gebruiken#Som_van_items_die_overeenkomen_met_meerdere_voorwaarden|Matrices gebruiken]] toont een soortgelijke techniek: |
− | {| | + | {| class="wikitable" style="text-align:center" |
− | + | ! ||'''A'''||'''B'''||'''C''' | |
− | + | |-style="text-align:center" | |
− | + | ||
− | |- | + | |
|'''1'''||Baan verw.||Werknemer||Kosten | |'''1'''||Baan verw.||Werknemer||Kosten | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''2'''||1||Andy||€ 30 | |'''2'''||1||Andy||€ 30 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''3'''||2||Betty||€ 40 | |'''3'''||2||Betty||€ 40 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''4'''||3||Charles||€ 30 | |'''4'''||3||Charles||€ 30 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''5'''||3||Daniel||€ 50 | |'''5'''||3||Daniel||€ 50 | ||
− | + | |-style="text-align:center" | |
− | |- | + | |
|'''6'''||4||Eva||€ 20 | |'''6'''||4||Eva||€ 20 | ||
|} | |} | ||
Line 116: | Line 89: | ||
<tt>'''SOM( (A2:A6 = 3) * C2:C6 )'''</tt> | <tt>'''SOM( (A2:A6 = 3) * C2:C6 )'''</tt> | ||
− | : SOM() de waarden in C2:C6 waar de overeenkomende waarde in A2:A6 is = 3. Merk op dat het het speciale mechanisme '''matrixuitdrukking''' gebruikt en moet worden ingevoerd door te drukken op Ctrl | + | : SOM() de waarden in C2:C6 waar de overeenkomende waarde in A2:A6 is = 3. Merk op dat het het speciale mechanisme '''matrixuitdrukking''' gebruikt en moet worden ingevoerd door te drukken op {{key|Ctrl|Shift|Enter}}. |
===Problemen:=== | ===Problemen:=== | ||
De OOo2.3 Help impliceert dat <tt>'''0'''</tt> als een <tt>'''veld'''</tt> de gehele databasetabel zal opnemen. Dit lijkt fout te zijn - alleen een enkele kolom kan worden opgeteld. | De OOo2.3 Help impliceert dat <tt>'''0'''</tt> als een <tt>'''veld'''</tt> de gehele databasetabel zal opnemen. Dit lijkt fout te zijn - alleen een enkele kolom kan worden opgeteld. | ||
− | {{ | + | {{NL/Documentation/ZieOok| |
− | * [[Documentation | + | * [[NL/Documentation/How_Tos/Calc: functie DBAANTAL|DBAANTAL]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie DBAANTALC|DBAANTALC]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie DBPRODUCT|DBPRODUCT]] |
− | * [[Documentation | + | * [[NL/Documentation/How_Tos/Calc: functie DBMAX|DBMAX]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie DBMIN|DBMIN]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie DBGEMIDDELDE|DBGEMIDDELDE]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie DBSTDEV|DBSTDEV]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie DBSTDEVP|DBSTDEVP]] |
− | * [[Documentation | + | * [[NL/Documentation/How_Tos/Calc: functie DBVAR|DBVAR]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie DBVARP|DBVARP]] |
− | * [[ | + | |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie SOM|SOM]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie SOM.ALS|SOM.ALS]] |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: functie SUBTOTAAL|SUBTOTAAL]] |
− | * [[Documentation | + | |
− | * [[ | + | * [[NL/Documentation/How_Tos/Optellen en tellen met voorwaarden|Optellen en tellen met voorwaarden]] |
− | * [[NL/Documentation/How_Tos/Calc: Functies alfabetisch gesorteerd|Functies - alfabetisch | + | |
− | * [[ | + | * [[NL/Documentation/How_Tos/Calc: Database-functies#Overzicht|Overzicht database-functies]] |
+ | |||
+ | * [[NL/Documentation/How_Tos/Calc: Database-functies|Database-functies]] | ||
+ | |||
+ | * [[NL/Documentation/How_Tos/Calc: Functies alfabetisch gesorteerd|Functies voor Calc - alfabetisch gesorteerd]] | ||
+ | * [[NL/Documentation/How_Tos/Calc: Functies gesorteerd per categorie|Functies voor Calc - gesorteerd per categorie]]}} | ||
[[Category: NL/Documentation/Reference/Calc]] | [[Category: NL/Documentation/Reference/Calc]] |
Latest revision as of 16:15, 27 January 2024
DBSOM
Telt de cellen in een kolom van een databasetabel in Calc bij elkaar op, die in rijen staan die voldoen aan gespecificeerde criteria.
Syntaxis:
DBSOM(database_tabel; veld; criteria_tabel)
waar
- database_tabel een bereik is dat de gegevens definieert die moeten worden verwerkt.
- veld de kolom is die moet worden opgeteld. Het mag een kolomnummer zijn (1 is de eerste kolom van de databasetabel, 2 is de tweede ...), of een kolomkop (omsloten door aanhalingstekens ””), of een cel die verwijst naar een kolomkop.
- criteria_tabel een bereik is dat criteria bevat, om te selecteren welke rijen van de database_tabel moeten worden opgeteld.
Het Overzicht database-functies beschrijft volledig het gebruik van deze parameters.
Voorbeeld:
In dit werkblad:
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Naam | Klas | Leeftijd | Afstand naar school | Gewicht |
2 | Andy | 3 | 9 | 150 | 40 |
3 | Betty | 4 | 10 | 1000 | 42 |
4 | Charles | 3 | 10 | 300 | 51 |
5 | Daniel | 5 | 11 | 1200 | 48 |
6 | Eva | 2 | 8 | 650 | 33 |
7 | Frank | 2 | 7 | 300 | 42 |
8 | Greta | 1 | 7 | 200 | 36 |
9 | Harry | 3 | 9 | 1200 | 44 |
10 | Irene | 2 | 8 | 1000 | 42 |
11 | |||||
12 | |||||
13 | Naam | Klas | Leeftijd | Afstand naar school | Gewicht |
14 | 2 |
DBSOM(A1:E10; "Afstand naar school"; A13:E14)
- geeft de gecombineerde afstand naar school terug van alle kinderen die in de tweede klas zitten (1950).
DBSOM(A1:E10; 4; A13:E14)
- geeft hetzelfde resultaat terug.
DBSOM(A1:E10; D1; A13:E14)
- geeft ook hetzelfde resultaat terug.
Soortgelijk
Matrices gebruiken toont een soortgelijke techniek:
A | B | C | |
---|---|---|---|
1 | Baan verw. | Werknemer | Kosten |
2 | 1 | Andy | € 30 |
3 | 2 | Betty | € 40 |
4 | 3 | Charles | € 30 |
5 | 3 | Daniel | € 50 |
6 | 4 | Eva | € 20 |
De totale kosten vinden wanneer Baan verw. = 3 (d.i. € 80)
SOM( (A2:A6 = 3) * C2:C6 )
- SOM() de waarden in C2:C6 waar de overeenkomende waarde in A2:A6 is = 3. Merk op dat het het speciale mechanisme matrixuitdrukking gebruikt en moet worden ingevoerd door te drukken op Ctrl + ⇧ Shift + ↵ Enter .
Problemen:
De OOo2.3 Help impliceert dat 0 als een veld de gehele databasetabel zal opnemen. Dit lijkt fout te zijn - alleen een enkele kolom kan worden opgeteld.
Zie ook