Difference between revisions of "NL/Documentation/How Tos/Calc: Database-functies"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Tips en trucs)
 
(14 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
{| border="0" cellpadding="0" cellspacing="10" align="left"
 
{| border="0" cellpadding="0" cellspacing="10" align="left"
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBAANTAL|'''DBAANTAL''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBAANTAL|'''DBAANTAL''']]
 
|DBAANTAL telt de numerieke items in een kolom van een databasetabel, die in de rijen staan die aan de criteria voldoen.
 
|DBAANTAL telt de numerieke items in een kolom van een databasetabel, die in de rijen staan die aan de criteria voldoen.
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBAANTALC|'''DBAANTALC''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBAANTALC|'''DBAANTALC''']]
 
|DBAANTALC telt de niet-lege cellen in een kolom van een databasetabel, die in de rijen staan die aan de criteria voldoen.
 
|DBAANTALC telt de niet-lege cellen in een kolom van een databasetabel, die in de rijen staan die aan de criteria voldoen.
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBLEZEN|'''DBLEZEN''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBLEZEN|'''DBLEZEN''']]
|DBLEZEN geeft de inhoud van een cel in een kolom van een databsetabel terug, uit de unieke rij die voldoet aan de criteria.  
+
|DBLEZEN geeft de inhoud van een cel in een kolom van een databasetabel terug, uit de unieke rij die voldoet aan de criteria.  
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBMAX|'''DBMAX''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBMAX|'''DBMAX''']]
 
|DBMAX geeft de grootste waarde in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
 
|DBMAX geeft de grootste waarde in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBMIN|'''DBMIN''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBMIN|'''DBMIN''']]
 
|DBMIN geeft de kleinste waarde in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
 
|DBMIN geeft de kleinste waarde in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBGEMIDDELDE|'''DBGEMIDDELDE''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBGEMIDDELDE|'''DBGEMIDDELDE''']]
 
|DBGEMIDDELDE geeft het gemiddelde van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
 
|DBGEMIDDELDE geeft het gemiddelde van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBPRODUCT|'''DBPRODUCT''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBPRODUCT|'''DBPRODUCT''']]
 
|DBPRODUCT geeft het product van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
 
|DBPRODUCT geeft het product van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBSTDEV|'''DBSTDEV''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBSTDEV|'''DBSTDEV''']]
 
|DBSTDEV berekent de standaard afwijking van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als een steekproef, niet als de gehele populatie.  
 
|DBSTDEV berekent de standaard afwijking van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als een steekproef, niet als de gehele populatie.  
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBSTDEVP|'''DBSTDEVP''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBSTDEVP|'''DBSTDEVP''']]
 
|DBSTDEVP berekent de standaard afwijking van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als de gehele populatie, niet als een steekproef van de populatie.
 
|DBSTDEVP berekent de standaard afwijking van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als de gehele populatie, niet als een steekproef van de populatie.
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBSOM|'''DBSOM''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBSOM|'''DBSOM''']]
 
|DBSOM geeft het totaal van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria.
 
|DBSOM geeft het totaal van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria.
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBVAR|'''DBVAR''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBVAR|'''DBVAR''']]
 
|DBVAR geeft de variantie terug van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als een steekproef, niet als de gehele populatie.  
 
|DBVAR geeft de variantie terug van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als een steekproef, niet als de gehele populatie.  
  
 
|-valign="top"
 
|-valign="top"
|[[Documentation/nl/How_Tos/Calc: functie DBVARP|'''DBVARP''']]
+
|[[NL/Documentation/How_Tos/Calc: functie DBVARP|'''DBVARP''']]
 
|DBVARP berekent de variantie van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria. De records worden behandeld als de gehele populatie, niet als een steekproef van de populatie.
 
|DBVARP berekent de variantie van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria. De records worden behandeld als de gehele populatie, niet als een steekproef van de populatie.
  
Line 52: Line 52:
 
<br style="clear:both;" />
 
<br style="clear:both;" />
 
<!-- waarom is dit in vredesnaam nodig? -->
 
<!-- waarom is dit in vredesnaam nodig? -->
 
  
 
==Overzicht==
 
==Overzicht==
  
In het OpenOffice.org werkblad 'Calc' is een 'database' eenvoudigweg een tabel met waarden en heeft niets van doen met de meer complexe OpenOffice.org database 'Base'. De 'database'-functies in Calc ([[#Lijst van 'Database'-functies in Calc|hier opgesomd]]) zijn zeer eeenvoudig te gebruiken, en maken het u mogelijk om gegevens in een tabel te kiezen en te verwerken.
+
In het {{AOo}} werkblad 'Calc' is een 'database' eenvoudigweg een tabel met waarden en heeft niets van doen met de meer complexe {{AOo}} database 'Base'. De 'database'-functies in Calc ([[#Lijst van 'Database'-functies in Calc|hier opgesomd]]) zijn zeer eenvoudig te gebruiken, en maken het u mogelijk om gegevens in een tabel te kiezen en te verwerken.
  
  
Line 65: Line 64:
  
  
De eerste rij van de 'database'-tabel heeft koppen ('''Naam''', '''Klas''', '''Leeftijd''' ... ), en elke volgende rij bevat de gegevenswaarden.
+
De eerste rij van de 'database'-tabel heeft koppen ('''Naam''', '''Klas''', '''Leeftijd''' ), en elke volgende rij bevat de gegevenswaarden.
 
+
 
+
De 'criteria', welke worden gebruikt om rijen te selecteren in de 'database', worden ingevoerd in een andere tabel:
+
  
 +
De 'criteria', die worden gebruikt om rijen te selecteren in de 'database', worden ingevoerd in een andere tabel:
  
 
[[Image:Dbasefns_2_nl.png|'Criteria'-tabel voor database-functies in Calc]]
 
[[Image:Dbasefns_2_nl.png|'Criteria'-tabel voor database-functies in Calc]]
 
  
 
De eerste rij van deze tabel heeft koppen. Volgende rijen specificeren de criteria: het gebruiken van de tabel hierboven zal bijvoorbeeld overeenkomen met die kinderen waarvan de afstand naar school meer is dan 600.
 
De eerste rij van deze tabel heeft koppen. Volgende rijen specificeren de criteria: het gebruiken van de tabel hierboven zal bijvoorbeeld overeenkomen met die kinderen waarvan de afstand naar school meer is dan 600.
 
  
 
De Calc 'database'-functies hebben allemaal een soortgelijke vorm. Als een eenvoudig eerste voorbeeld, met behulp van de tabellen hierboven:
 
De Calc 'database'-functies hebben allemaal een soortgelijke vorm. Als een eenvoudig eerste voorbeeld, met behulp van de tabellen hierboven:
 
  
 
<tt>'''DBAANTAL(A1:E10; 0; A13:E14)'''</tt>
 
<tt>'''DBAANTAL(A1:E10; 0; A13:E14)'''</tt>
Line 84: Line 78:
 
: geeft '''5''' terug, het aantal kinderen waarvan '''“Afstand naar school”''' meer is dan '''600'''.
 
: geeft '''5''' terug, het aantal kinderen waarvan '''“Afstand naar school”''' meer is dan '''600'''.
 
:<tt>'''A1:E10'''</tt> is de databasetabel en <tt>'''A13:E14'''</tt> is de tabel met criteria.  
 
:<tt>'''A1:E10'''</tt> is de databasetabel en <tt>'''A13:E14'''</tt> is de tabel met criteria.  
 
  
 
Er zijn andere 'database'-functies om een som, een gemiddelde, een standaard afwijking, enzovoort terug te geven.
 
Er zijn andere 'database'-functies om een som, een gemiddelde, een standaard afwijking, enzovoort terug te geven.
 
  
 
==Criteria==
 
==Criteria==
  
 
De tabel met criteria mag overal in het werkblad worden geplaatst, maar het is vaak verstandig om hem in de buurt van de databasetabel te hebben.
 
De tabel met criteria mag overal in het werkblad worden geplaatst, maar het is vaak verstandig om hem in de buurt van de databasetabel te hebben.
 
  
 
De tabelkoppen met criteria moeten exact overeenkomen met de koppen in de databasetabel, maar zij mogen in een andere volgorde staan en zij mogen meerdere keren voorkomen:
 
De tabelkoppen met criteria moeten exact overeenkomen met de koppen in de databasetabel, maar zij mogen in een andere volgorde staan en zij mogen meerdere keren voorkomen:
 
  
 
[[Image:Dbasefns_3_nl.png|'Criteria'-tabel voor database-functies in Calc]]
 
[[Image:Dbasefns_3_nl.png|'Criteria'-tabel voor database-functies in Calc]]
 
  
 
Aan alle criteria in een rij moet worden voldaan voordat de rij wordt verwerkt, dus in dit voorbeeld hierboven zien we rijen waarin:
 
Aan alle criteria in een rij moet worden voldaan voordat de rij wordt verwerkt, dus in dit voorbeeld hierboven zien we rijen waarin:
Line 107: Line 96:
  
 
: '''“Leeftijd”''' kleiner dan of gelijk aan '''10'''
 
: '''“Leeftijd”''' kleiner dan of gelijk aan '''10'''
 
  
 
met andere woorden '9 en 10-jarigen die meer dan 600 naar school moeten reizen'.
 
met andere woorden '9 en 10-jarigen die meer dan 600 naar school moeten reizen'.
 
  
 
Als de tabel met criteria meer dan één rij met criteria heeft, betekent dat dat elke rij die voldoet aan de criteria ook de algehele tabel met criteria voldoet:
 
Als de tabel met criteria meer dan één rij met criteria heeft, betekent dat dat elke rij die voldoet aan de criteria ook de algehele tabel met criteria voldoet:
 
  
 
[[Image:Dbasefns_4_nl.png|'Criteria'-tabel voor database-functies in Calc]]
 
[[Image:Dbasefns_4_nl.png|'Criteria'-tabel voor database-functies in Calc]]
 
  
 
In dit voorbeeld is de test:  
 
In dit voorbeeld is de test:  
Line 129: Line 114:
  
 
:('''“Leeftijd”''' kleiner dan of gelijk aan '''8''')
 
:('''“Leeftijd”''' kleiner dan of gelijk aan '''8''')
 
  
 
Met andere woorden: we vinden rijen waarin 'de kinderen 9 of 10 jaar zijn die 600 of meer moeten reizen naar school', of '8 jaar of jonger zijn'.  
 
Met andere woorden: we vinden rijen waarin 'de kinderen 9 of 10 jaar zijn die 600 of meer moeten reizen naar school', of '8 jaar of jonger zijn'.  
 
  
 
De voorwaarde die wordt ingevoerd in een cel van een tabel met criteria (bijv. <tt>'''>4'''</tt> ) is eenvoudigweg tekst en heeft de volgende vorm:
 
De voorwaarde die wordt ingevoerd in een cel van een tabel met criteria (bijv. <tt>'''>4'''</tt> ) is eenvoudigweg tekst en heeft de volgende vorm:
Line 148: Line 131:
  
 
==Instellingen voor tekstcriteria==
 
==Instellingen voor tekstcriteria==
Bij het overeenkomen van een eenvoudige tekstvoorwaarde, (zoals “<tt>'''<lamp'''</tt>”) kan het belangrijk zijn om de instellingen van het dialoogvenster '''menu Extra→Opties→OpenOffice.org Calc→Berekenen''' te controleren:  
+
Bij het overeenkomen van een eenvoudige tekstvoorwaarde, (zoals “<tt>'''<lamp'''</tt>”) kan het belangrijk zijn om de instellingen van het dialoogvenster {{menu|Extra|Opties|OpenOffice Calc|Berekenen}} te controleren:  
 
+
 
+
[[Image:Condsummation_4.png|dialoogvenster menu Calc  Extra→Opties→OpenOffice.org Calc→Berekenen]]
+
  
 +
[[Image:Condsummation_4_nl.png|dialoogvenster menu Calc  Extra→Opties→OpenOffice.org Calc→Berekenen]]
  
 
Hoofdletters/kleine letters  
 
Hoofdletters/kleine letters  
Line 159: Line 140:
 
: als dit keuzevakje is aangevinkt, zal “<tt>'''lamp'''</tt>” alleen overeenkomen met een cel die slechts <tt>'''lamp'''</tt> bevat.  Als dit keuzevak niet is aangevinkt, zal “<tt>'''lamp'''</tt>” overeenkomen met <tt>'''lamp'''</tt>, <tt>'''klamp'''</tt>, <tt>'''lampion'''</tt>, etc. - met andere woorden: het zal overeenkomen als lamp ergens in de tekst van de cel wordt gevonden.
 
: als dit keuzevakje is aangevinkt, zal “<tt>'''lamp'''</tt>” alleen overeenkomen met een cel die slechts <tt>'''lamp'''</tt> bevat.  Als dit keuzevak niet is aangevinkt, zal “<tt>'''lamp'''</tt>” overeenkomen met <tt>'''lamp'''</tt>, <tt>'''klamp'''</tt>, <tt>'''lampion'''</tt>, etc. - met andere woorden: het zal overeenkomen als lamp ergens in de tekst van de cel wordt gevonden.
 
Reguliere expressies in formules mogelijk  
 
Reguliere expressies in formules mogelijk  
: als dit keuzevak is aangevinkt, dan wordt de voorwaarde behandeld als een reguliere expressie. Bijvoorbeeld de voorwaarde “<tt>'''l?amp'''</tt>” zou overeenkomen met <tt>'''lamp'''</tt> en <tt>'''amp'''</tt> (in reguliere uitdrukkingen betekent “<tt>'''l?'''</tt>” dat de “<tt>'''l'''</tt>” optioneel is).Reguliere uitdrukkingen komen overeen met jokertekens, maar krachtiger; zijn worden beschreven in de HowTo: [[Documentation/nl/How_Tos/Reguliere uitdrukkingen in Calc|Reguliere uitdrukkingen in Calc]]'''. (Merk op dat de instelling ' '''Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn''' ' hierboven ook werkt als reguliere uitdrukkingen zijn geselecteerd.)
+
: als dit keuzevak is aangevinkt, dan wordt de voorwaarde behandeld als een reguliere expressie. Bijvoorbeeld de voorwaarde “<tt>'''l?amp'''</tt>” zou overeenkomen met <tt>'''lamp'''</tt> en <tt>'''amp'''</tt> (in reguliere uitdrukkingen betekent “<tt>'''l?'''</tt>” dat de “<tt>'''l'''</tt>” optioneel is). Reguliere uitdrukkingen komen overeen met jokertekens, maar krachtiger; zij worden beschreven in de HowTo: [[NL/Documentation/How_Tos/Reguliere_expressies_in_Calc|Reguliere uitdrukkingen in Calc]]. (Merk op dat de instelling '''Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn''' hierboven ook werkt als reguliere uitdrukkingen zijn geselecteerd.)
 
+
  
 
De resultaten van de functies kunnen afhankelijk zijn van deze instellingen - maar ongelukkigerwijze zijn zij ietwat verborgen zodat de gebruiker zich er niet bewust van behoeft te zijn dat de instellingen niet goed zijn.
 
De resultaten van de functies kunnen afhankelijk zijn van deze instellingen - maar ongelukkigerwijze zijn zij ietwat verborgen zodat de gebruiker zich er niet bewust van behoeft te zijn dat de instellingen niet goed zijn.
 
  
 
Er zijn twee manieren om dat tegen te gaan:
 
Er zijn twee manieren om dat tegen te gaan:
 
  
 
Als eerste kunt u het werkblad zo ontwerpen dat het werkt zonder rekening te houden met de instellingen
 
Als eerste kunt u het werkblad zo ontwerpen dat het werkt zonder rekening te houden met de instellingen
Line 175: Line 153:
  
 
:gebruik geen speciale tekens voor reguliere uitdrukkingen zoals ., *, + [, { in criteria
 
:gebruik geen speciale tekens voor reguliere uitdrukkingen zoals ., *, + [, { in criteria
 
  
 
Als tweede kunt u in uw werkblad een waarschuwing opnemen als de instellingen verkeerd zijn.
 
Als tweede kunt u in uw werkblad een waarschuwing opnemen als de instellingen verkeerd zijn.
Line 182: Line 159:
  
 
:'''Controle:''' in.
 
:'''Controle:''' in.
 
  
 
:Merk nu op dat
 
:Merk nu op dat
Line 188: Line 164:
 
::<tt>'''AANTAL.ALS(A3;".*")'''</tt> '''1''' teruggeeft als reguliere uitdrukkingen zijn ingeschakeld.
 
::<tt>'''AANTAL.ALS(A3;".*")'''</tt> '''1''' teruggeeft als reguliere uitdrukkingen zijn ingeschakeld.
 
::<tt>'''AANTAL.ALS(A3;"<>e")'''</tt> geeft '''1''' terug als de overeenkomst voor de gehele cel is ingeschakeld.
 
::<tt>'''AANTAL.ALS(A3;"<>e")'''</tt> geeft '''1''' terug als de overeenkomst voor de gehele cel is ingeschakeld.
 
  
 
:en construeer een toepasselijke formule in cel '''A4''' - bijvoorbeeld:
 
:en construeer een toepasselijke formule in cel '''A4''' - bijvoorbeeld:
  
 
+
:[[Image:Dbasefns_5_nl.png|Calc: controleren instelling voor reguliere uitdrukkingen]]
:[[Image:Dbasefns_6.png|Calc: controleren instelling voor reguliere uitdrukkingen]]
+
 
+
  
 
:controleren op zowel reguliere uitdrukkingen als overeenkomsten in gehele cel:
 
:controleren op zowel reguliere uitdrukkingen als overeenkomsten in gehele cel:
Line 208: Line 181:
 
:controleren op reguliere uitdrukkingen noch overeenkomst in gehele cel:
 
:controleren op reguliere uitdrukkingen noch overeenkomst in gehele cel:
 
::<tt>'''=ALS( EN(AANTAL.ALS(A3;".*"); AANTAL.ALS(A3;"<>e")=0); "OK"; "Fout: " & ALS(AANTAL.ALS(A3;".*")=0; "Schakel reguliere uitdrukkingen uit. "; "") &  ALS(AANTAL.ALS(A3;"<>e"); "Schakel overeenkomsten in gehele cel uit."; "") )'''</tt>
 
::<tt>'''=ALS( EN(AANTAL.ALS(A3;".*"); AANTAL.ALS(A3;"<>e")=0); "OK"; "Fout: " & ALS(AANTAL.ALS(A3;".*")=0; "Schakel reguliere uitdrukkingen uit. "; "") &  ALS(AANTAL.ALS(A3;"<>e"); "Schakel overeenkomsten in gehele cel uit."; "") )'''</tt>
 
  
 
==Tips en trucs==
 
==Tips en trucs==
Line 215: Line 187:
  
  
{{Documentation/nl/ZieOok|
+
{{NL/Documentation/ZieOok|
* [[Documentation/nl/How_Tos/Calc: Functies alfabetisch gesorteerd|Functies - alfabetisch gesorteerd]],
+
* [[NL/Documentation/How_Tos/Calc: Functies alfabetisch gesorteerd|Functies voor Calc - alfabetisch gesorteerd]]
* [[Documentation/nl/How_Tos/Calc: Functies gesorteerd per categorie|Functies - gesorteerd per categorie]]
+
* [[NL/Documentation/How_Tos/Calc: Functies gesorteerd per categorie|Functies voor Calc - gesorteerd per categorie]]}}
}}
+
[[Category: NL/Documentation/Reference/Calc]]

Latest revision as of 16:25, 27 January 2024

Lijst van 'Database'-functies in Calc

DBAANTAL DBAANTAL telt de numerieke items in een kolom van een databasetabel, die in de rijen staan die aan de criteria voldoen.
DBAANTALC DBAANTALC telt de niet-lege cellen in een kolom van een databasetabel, die in de rijen staan die aan de criteria voldoen.
DBLEZEN DBLEZEN geeft de inhoud van een cel in een kolom van een databasetabel terug, uit de unieke rij die voldoet aan de criteria.
DBMAX DBMAX geeft de grootste waarde in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
DBMIN DBMIN geeft de kleinste waarde in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
DBGEMIDDELDE DBGEMIDDELDE geeft het gemiddelde van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
DBPRODUCT DBPRODUCT geeft het product van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria.
DBSTDEV DBSTDEV berekent de standaard afwijking van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als een steekproef, niet als de gehele populatie.
DBSTDEVP DBSTDEVP berekent de standaard afwijking van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als de gehele populatie, niet als een steekproef van de populatie.
DBSOM DBSOM geeft het totaal van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria.
DBVAR DBVAR geeft de variantie terug van de items in een kolom van een databasetabel, uit rijen die voldoen aan de criteria. De records worden behandeld als een steekproef, niet als de gehele populatie.
DBVARP DBVARP berekent de variantie van de items in een kolom van een databasetabel, uit de rijen die voldoen aan de criteria. De records worden behandeld als de gehele populatie, niet als een steekproef van de populatie.


Overzicht

In het Apache OpenOffice werkblad 'Calc' is een 'database' eenvoudigweg een tabel met waarden en heeft niets van doen met de meer complexe Apache OpenOffice database 'Base'. De 'database'-functies in Calc (hier opgesomd) zijn zeer eenvoudig te gebruiken, en maken het u mogelijk om gegevens in een tabel te kiezen en te verwerken.


Een 'database'-tabel in Calc zou er zo uit kunnen zien:


'Database'-tabel in Calc


De eerste rij van de 'database'-tabel heeft koppen (Naam, Klas, Leeftijd … ), en elke volgende rij bevat de gegevenswaarden.

De 'criteria', die worden gebruikt om rijen te selecteren in de 'database', worden ingevoerd in een andere tabel:

'Criteria'-tabel voor database-functies in Calc

De eerste rij van deze tabel heeft koppen. Volgende rijen specificeren de criteria: het gebruiken van de tabel hierboven zal bijvoorbeeld overeenkomen met die kinderen waarvan de afstand naar school meer is dan 600.

De Calc 'database'-functies hebben allemaal een soortgelijke vorm. Als een eenvoudig eerste voorbeeld, met behulp van de tabellen hierboven:

DBAANTAL(A1:E10; 0; A13:E14)

geeft 5 terug, het aantal kinderen waarvan “Afstand naar school” meer is dan 600.
A1:E10 is de databasetabel en A13:E14 is de tabel met criteria.

Er zijn andere 'database'-functies om een som, een gemiddelde, een standaard afwijking, enzovoort terug te geven.

Criteria

De tabel met criteria mag overal in het werkblad worden geplaatst, maar het is vaak verstandig om hem in de buurt van de databasetabel te hebben.

De tabelkoppen met criteria moeten exact overeenkomen met de koppen in de databasetabel, maar zij mogen in een andere volgorde staan en zij mogen meerdere keren voorkomen:

'Criteria'-tabel voor database-functies in Calc

Aan alle criteria in een rij moet worden voldaan voordat de rij wordt verwerkt, dus in dit voorbeeld hierboven zien we rijen waarin:

“Afstand naar school” meer dan 600    EN
“Leeftijd” groter dan 8    EN
“Leeftijd” kleiner dan of gelijk aan 10

met andere woorden '9 en 10-jarigen die meer dan 600 naar school moeten reizen'.

Als de tabel met criteria meer dan één rij met criteria heeft, betekent dat dat elke rij die voldoet aan de criteria ook de algehele tabel met criteria voldoet:

'Criteria'-tabel voor database-functies in Calc

In dit voorbeeld is de test:

(“Afstand naar school” meer dan 600    EN
“Leeftijd” groter dan 8    EN
“Leeftijd” kleiner dan of gelijk aan 10)
OF
(“Leeftijd” kleiner dan of gelijk aan 8)

Met andere woorden: we vinden rijen waarin 'de kinderen 9 of 10 jaar zijn die 600 of meer moeten reizen naar school', of '8 jaar of jonger zijn'.

De voorwaarde die wordt ingevoerd in een cel van een tabel met criteria (bijv. >4 ) is eenvoudigweg tekst en heeft de volgende vorm:

vergelijkingsteken waarde where
vergelijkingsteken is één van >, <, >=, <=, =, <> (als vergelijkingsteken wordt weggelaten, wordt = aangenomen );
waarde is de waarde (getal of tekst) die moet worden vergeleken.

Bijvoorbeeld:

de voorwaarde “>4” test of de inhoud van cellen groter is dan 4.
de voorwaarde “<lamp” test of de inhoud van cellen alfabetisch vóór lamp komt (dus lading en anti voldoen aan de voorwaarde, maar later en zebra doen dat niet).
de voorwaarde “lamp” test of de inhoud van cellen lamp is - maar Calc heeft een aantal instellingen die het exacte gedrag definiëren - lees daarvoor de volgende sectie:

Instellingen voor tekstcriteria

Bij het overeenkomen van een eenvoudige tekstvoorwaarde, (zoals “<lamp”) kan het belangrijk zijn om de instellingen van het dialoogvenster Extra → Opties → OpenOffice Calc → Berekenen te controleren:

dialoogvenster menu Calc  Extra→Opties→OpenOffice.org Calc→Berekenen

Hoofdletters/kleine letters

dit keuzevakje heeft geen effect op database-functies in Calc. Hoofdletters worden genegeerd - zodat “lamp” altijd overeen zal komen met lamp, Lamp en LAMP, etc.

Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn

als dit keuzevakje is aangevinkt, zal “lamp” alleen overeenkomen met een cel die slechts lamp bevat. Als dit keuzevak niet is aangevinkt, zal “lamp” overeenkomen met lamp, klamp, lampion, etc. - met andere woorden: het zal overeenkomen als lamp ergens in de tekst van de cel wordt gevonden.

Reguliere expressies in formules mogelijk

als dit keuzevak is aangevinkt, dan wordt de voorwaarde behandeld als een reguliere expressie. Bijvoorbeeld de voorwaarde “l?amp” zou overeenkomen met lamp en amp (in reguliere uitdrukkingen betekent “l?” dat de “l” optioneel is). Reguliere uitdrukkingen komen overeen met jokertekens, maar krachtiger; zij worden beschreven in de HowTo: Reguliere uitdrukkingen in Calc. (Merk op dat de instelling Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn hierboven ook werkt als reguliere uitdrukkingen zijn geselecteerd.)

De resultaten van de functies kunnen afhankelijk zijn van deze instellingen - maar ongelukkigerwijze zijn zij ietwat verborgen zodat de gebruiker zich er niet bewust van behoeft te zijn dat de instellingen niet goed zijn.

Er zijn twee manieren om dat tegen te gaan:

Als eerste kunt u het werkblad zo ontwerpen dat het werkt zonder rekening te houden met de instellingen

meest eenvoudig, doe nooit een tekstvergelijking - of als u dat wel doet, zoek altijd naar een overeenkomst voor de gehele cel, en zorg er voor dat geen van de cellen die u controleert een gedeeltelijke overeenkomst is bam enige andere cel (bijv. als u zoekt naar 'appel' als de enige inhoud van een cel, zorg er dan voor dat geen enkele andere cel 'appelmoes') kan bevatten, EN
gebruik geen reguliere uitdrukkingen EN
gebruik geen speciale tekens voor reguliere uitdrukkingen zoals ., *, + [, { in criteria

Als tweede kunt u in uw werkblad een waarschuwing opnemen als de instellingen verkeerd zijn.

voer in cel A3 de tekst:
Controle: in.
Merk nu op dat
AANTAL.ALS(A3;".*") 1 teruggeeft als reguliere uitdrukkingen zijn ingeschakeld.
AANTAL.ALS(A3;"<>e") geeft 1 terug als de overeenkomst voor de gehele cel is ingeschakeld.
en construeer een toepasselijke formule in cel A4 - bijvoorbeeld:
Calc: controleren instelling voor reguliere uitdrukkingen
controleren op zowel reguliere uitdrukkingen als overeenkomsten in gehele cel:
=ALS( EN(AANTAL.ALS(A3;".*"); AANTAL.ALS(A3;"<>e")); "OK"; "Fout: " & ALS(AANTAL.ALS(A3;".*")=0; "Schakel reguliere uitdrukkingen in. "; "") & ALS(AANTAL.ALS(A3;"<>e")=0; "Schakel overeenkomsten in gehele cel in."; "") )
controleren op reguliere uitdrukkingen, maar geen overeenkomst in gehele cel:
=ALS( EN(AANTAL.ALS(A3;".*"); AANTAL.ALS(A3;"<>e")=0); "OK"; "Fout: " & ALS(AANTAL.ALS(A3;".*")=0; "Schakel reguliere uitdrukkingen in. "; "") & ALS(AANTAL.ALS(A3;"<>e"); "Schakel overeenkomsten in gehele cel uit."; "") )
controleren op overeenkomst in gehele cel, maar geen reguliere uitdrukkingen:
=ALS( EN(AANTAL.ALS(A3;".*")=0; AANTAL.ALS(A3;"<>e")); "OK"; "Fout: " & ALS(AANTAL.ALS(A3;".*"); "Schakel reguliere uitdrukkingen uit. "; "") & ALS(AANTAL.ALS(A3;"<>e")=0; "Schakel overeenkomsten in gehele cel in."; "") )
controleren op reguliere uitdrukkingen noch overeenkomst in gehele cel:
=ALS( EN(AANTAL.ALS(A3;".*"); AANTAL.ALS(A3;"<>e")=0); "OK"; "Fout: " & ALS(AANTAL.ALS(A3;".*")=0; "Schakel reguliere uitdrukkingen uit. "; "") & ALS(AANTAL.ALS(A3;"<>e"); "Schakel overeenkomsten in gehele cel uit."; "") )

Tips en trucs

  • U kunt ofwel kopiëren en plakken, of '=' gebruiken om er voor te zorgen dat de tabelkoppen met criteria exact overeenkomen met de koppen van de databasetabel. In de tabel hierboven zal bijvoorbeeld =D1 'Afstand naar school' geven
  • Als de criteria niet lijken te werken, zorg er dan voor dat cellen die leeg lijken te zijn ook echt leeg zijn, door ze te selecteren en dan te verwijderen.



Zie ook

Personal tools