Χρήση συναρτήσεων βάσης δεδομένων στο Excel/Calc Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 31 Οκτωβρίου 2013 1 / 31
Γενική μορφή συνάρτησης βάσης δεδομένων =function(database;field;criteria) Επεξήγηση 1 database: Περιοχή κελιών (πίνακας) με δεδομένα, η πρώτη γραμμή περιέχει επικεφαλίδες, δηλαδή ονόματα στηλών. 2 field: Ονομα της στήλης δεδομένων, πάνω στην οποία θα εφαρμοστεί η ενέργεια της συνάρτησης, πχ άθροισμα, μέση τιμή, κ.λπ. 3 criteria: Περιοχή κελιών, έξω από την περιοχή δεδομένων, με κριτήρια αναζήτησης δεδομένων Προσοχή Μόνο οι εγγραφές (records) που ο έλεγχος κριτηρίων αποδίδει TRUE θα ληφθούν υπόψη για το αποτέλεσμα της συνάρτησης. Οι συναρτήσεις βάσης δεδομένων εφαρμόζονται όταν είναι επιθυμητή η λήψη ενός υποσυνόλου δεδομένων για τον υπολογισμό κάποιας στατιστικής τιμής. 2 / 31
Περιγραφικά στατιστικά Ονομα DCOUNT DAVERAGE DGET DMAX DMIN DPRODUCT DSUM Τι κάνει Υπολογίζει το πλήθος κελιών μιας περιοχής δεδομένων Υπολογίζει τη μέση τιμή μιας περιοχής δεδομένων Επιστρέφει το περιεχόμενο του κελιού που πληρεί τα κριτήρια αναζήτησης Επιστρέφει τη μέγιστη τιμή μιας περιοχής δεδομένων με βάση τα κριτήρια αναζήτησης Επιστρέφει τη μικρότερη τιμή μιας περιοχής δεδομένων με βάση τα κριτήρια αναζήτησης Υπολογίζει το γινόμενο των κελιών μιας περιοχής δεδομένων με βάση τα κριτήρια αναζήτησης Υπολογίζει το άθροισμα μιας περιοχής δεδομένων που πληρεί τα κριτήρια αναζήτησης 3 / 31
Διακύμανση και τυπική απόκλιση Ονομα DSTDEV DSTDEVP DVAR DVARP Τι κάνει Υπολογίζει την τυπική απόκλιση μιας περιοχής δεδομένων που πληρεί τα κριτήρια αναζήτησης Υπολογίζει την τυπική απόκλιση μιας περιοχής δεδομένων που πληρεί τα κριτήρια αναζήτησης, με βάση τον πληθυσμό Υπολογίζει τη διακύμανση μιας περιοχής δεδομένων που πληρεί τα κριτήρια αναζήτησης Υπολογίζει τη διακύμανση μιας περιοχής δεδομένων που πληρεί τα κριτήρια αναζήτησης, με βάση τον πληθυσμό 4 / 31
Μια μικρή βάση δεδομένων 5 / 31
Ποιος είναι ο μέσος μισθός των υπαλλήλων με ηλικία κάτω των 30; =DAVERAGE(A1:D13; Μισθός ;F2:F3) 1 DAVERAGE: μέση τιμή 2 A1:D13 : η βάση δεδομένων 3 Μισθός : εφαρμογή στη στήλη Μισθός 4 F2:F3 : κριτήρια αναζήτησης, Ηλικία> 30 6 / 31
Με τον οδηγό συναρτήσεων 7 / 31
Ισοδυναμία με κοινές συναρτήσεις; =DAVERAGE(A1:D13; Μισθός ;F2:F3) =AVERAGE(D2;D6;D7) Μειονεκτήματα Δυσκολία εντοπισμού κελιών Μεγάλο ρίσκο λαθών Ευαισθησία σε τροποποίηση δεδομένων 8 / 31
Ισοδυναμία με κοινές συναρτήσεις; Το λάθος! =DAVERAGE(A1:D13; Μισθός ;F2:F3) =AVERAGE(D2;D6;D7) Προσοχή, λάθος! Μετά την τροποποίηση της ηλικίας του Δημήτρη, από 29 σε 30, η συνάρτηση AVERAGE δίνει λάθος αποτέλεσμα. 9 / 31
Να βρεθεί ο μεγαλύτερος μισθός των γυναικών υπαλλήλων =DMAX(A1:D13; Μισθός ;F2:F3) 1 DMAX : μεγαλύτερη τιμή 2 A1:D13 : η βάση δεδομένων 3 Μισθός : εφαρμογή στη στήλη Μισθός 4 F2:F3 : κριτήρια αναζήτησης, Φύλο=Γ 10 / 31
Ο μεγαλύτερος μισθός των γυναικών υπαλλήλων, με τον οδηγό συναρτήσεων 11 / 31
Ο μεγαλύτερος μισθός των γυναικών υπαλλήλων, κωδικοποίηση του προβλήματος 1 Θα χρησιμοποιηθεί η περιοχή a1:d13 ως βάση δεδομένων. 2 Η μεγαλύτερη τιμή δίνεται με τη συνάρτηση dmax() 3 Υπάρχει ένα μόνο κριτήριο: γυναίκες υπάλληλοι, που μπορεί να περιγραφεί σε δύο κελιά, κελί «Φύλλο» και κελί «Γ» 4 Η στήλη που θα εφαρμοστεί η συνάρτηση dmax() είναι η στήλη Μισθός, εφ όσον αυτό που ζητάμε αναφέρεται στο μισθό 12 / 31
Ο μεγαλύτερος μισθός των γυναικών υπαλλήλων. Βήμα 1. Τοποθετούμε σε δύο κελιά το κριτήριο για γυναίκες υπαλλήλους, όπως φαίνεται στο παρακάτω σχήμα: 13 / 31
Ο μεγαλύτερος μισθός των γυναικών υπαλλήλων. Βήμα 2. Ενεργοποιούμε ένα κελί για την απάντηση, πχ το h2 και από το μενού Εισαγωγή επιλέγουμε Συνάρτηση. Από την κατηγορία Βάσης Δεδομένων, επιλέγουμε τη συνάρτηση dmax(): 14 / 31
Ο μεγαλύτερος μισθός των γυναικών υπαλλήλων. Βήμα 3. Συμπληρώνουμε την περιοχή a1:d13 στο πλαίσιο Βάση δεδομένων Συμπληρώνουμε τη λέξη Μισθός (με εισαγωγικά) στο πλαίσιο Πεδίο βάσης δεδομένων Συμπληρώνουμε την περιοχή f 2:f3 στο πλαίσιο Κριτήρια αναζήτησης 15 / 31
Ο μεγαλύτερος μισθός των γυναικών υπαλλήλων. Η εντολή. =DMAX(A1:D13; Μισθός ;F2:F3) Προσοχή λάθος! =MAX(A1:D13) =MAX(D1:D13) =DMAX(A1:D13; Μισσθός ;F2:F3) =DMAX(A1:D13; Μισθός ;F2:F2) 16 / 31
Το άθροισμα μισθών των ανδρών υπαλλήλων άνω των 45 ετών, κωδικοποίηση του προβλήματος 1 Θα χρησιμοποιηθεί η περιοχή a1:d13 ως βάση δεδομένων. 2 Η μεγαλύτερη τιμή δίνεται με τη συνάρτηση dsum() 3 Υπάρχουν δύο κριτήρια: άντρες υπάλληλοι και ηλικία άνω των 45. Τα δύο κριτήρια εφαρμόζονται σε διαφορετικές στήλες, επομένως θα χρειαστούν τέσσερα κελιά, δύο για κάθε κριτήριο. Τα δύο κριτήρια συνδέονται με το λογικό ΚΑΙ. 4 Η στήλη που θα εφαρμοστεί η συνάρτηση dsum() είναι η στήλη Μισθός, εφ όσον αυτό που ζητάμε αναφέρεται στο μισθό 17 / 31
Λογική σύζευξη σε συναρτήσεις βάσης δεδομένων Λογική σύζευξη Τοποθετούμε τις δύο συνθήκες δίπλα δίπλα. Παράδειγμα Λάθος 18 / 31
Το άθροισμα μισθών των ανδρών υπαλλήλων άνω των 45 ετών. Βήμα 1. Τοποθετούμε σε δύο κελιά το κριτήριο για άντρες υπαλλήλους, και σε δύο διπλανά κελιά το κριτήριο της Ηλικίας 19 / 31
Το άθροισμα μισθών των ανδρών υπαλλήλων άνω των 45 ετών. Βήμα 2. Ενεργοποιούμε ένα κελί για την απάντηση, πχ το h2 και από το μενού Εισαγωγή επιλέγουμε Συνάρτηση. Από την κατηγορία Βάσης Δεδομένων, επιλέγουμε τη συνάρτηση dsum(): 20 / 31
Το άθροισμα μισθών των ανδρών υπαλλήλων άνω των 45 ετών. Βήμα 3. Συμπληρώνουμε την περιοχή a1:d13 στο πλαίσιο Βάση δεδομένων Συμπληρώνουμε τη λέξη Μισθός (με εισαγωγικά) στο πλαίσιο Πεδίο βάσης δεδομένων Συμπληρώνουμε την περιοχή f 2:g3 στο πλαίσιο Κριτήρια αναζήτησης 21 / 31
Το άθροισμα μισθών των ανδρών υπαλλήλων άνω των 45 ετών. Αποτέλεσμα. Με την εφαρμογή του τύπου: =DSUM(A1:D13; Μισθός ;F2:G3) 22 / 31
Εναλλακτική λύση. Βήμα 1. Αναπτύσσουμε τον τύπο: =AND(D2= A ;E2>45) 23 / 31
Εναλλακτική λύση. Βήμα 2. Άθροισμα γινομένων: Στο κελί M2 με ανάπτυξη προς τα κάτω: =L2*D2 Στο κελί M15 =SUM(M2:M13) 24 / 31
Το άθροισμα μισθών των ανδρών υπαλλήλων άνω των 45 ετών. Βήμα 1. Τοποθετούμε σε δύο κελιά το κριτήριο για άντρες υπαλλήλους, και σε δύο διπλανά κελιά το κριτήριο της Ηλικίας 25 / 31
Μέσος μισθός των υπαλλήλων που είτε είναι γυναίκες είτε έχουν Ηλικία κάτω των 30 Κωδικοποίηση του προβλήματος 1 Θα χρησιμοποιηθεί η περιοχή a1:d13 ως βάση δεδομένων. 2 Η μεγαλύτερη τιμή δίνεται με τη συνάρτηση daverage() 3 Υπάρχουν δύο κριτήρια: γυναίκες υπάλληλοι και ηλικία κάτω των 45. Τα δύο κριτήρια εφαρμόζονται σε διαφορετικές στήλες, επομένως θα χρειαστούν τέσσερα κελιά, δύο για κάθε κριτήριο. Τα δύο κριτήρια συνδέονται με το λογικό Η. 4 Η στήλη που θα εφαρμοστεί η συνάρτηση daverage() είναι η στήλη Ηλικία, αφού αυτό που ζητάμε αναφέρεται στο μισθό 26 / 31
Λογική διάζευξη σε συναρτήσεις βάσης δεδομένων Λογική διάζευξη Τοποθετούμε τις δύο συνθήκες σε διαφορετικές γραμμές. Παράδειγμα Λάθος 27 / 31
Μέσος μισθός των υπαλλήλων που είτε είναι γυναίκες είτε έχουν Ηλικία κάτω των 30. Βήμα 1. Τοποθετούμε σε δύο κελιά το κριτήριο για γυναίκες υπαλλήλους, και σε δύο διπλανά κελιά (διαφορετική γραμμή) το κριτήριο της Ηλικίας 28 / 31
Μέσος μισθός των υπαλλήλων που είτε είναι γυναίκες είτε έχουν Ηλικία κάτω των 30. Βήμα 2. Ενεργοποιούμε ένα κελί για την απάντηση, πχ το h2 και από το μενού Εισαγωγή επιλέγουμε Συνάρτηση. Από την κατηγορία Βάσης Δεδομένων, επιλέγουμε τη συνάρτηση daverage(). 29 / 31
Μέσος μισθός των υπαλλήλων που είτε είναι γυναίκες είτε έχουν Ηλικία κάτω των 30. Βήμα 3. Συμπληρώνουμε την περιοχή a1:d13 στο πλαίσιο Βάση δεδομένων. Συμπληρώνουμε τη λέξη Μισθός (με εισαγωγικά) στο πλαίσιο Πεδίο βάσης δεδομένων. Συμπληρώνουμε την περιοχή f 2:g4 στο πλαίσιο Κριτήρια αναζήτησης. 30 / 31
Μέσος μισθός των υπαλλήλων που είτε είναι γυναίκες είτε έχουν Ηλικία κάτω των 30. Αποτέλεσμα. Με την εφαρμογή του τύπου: =DAVERAGE(A1:D13; Μισθός ;F2:G4) 31 / 31
Σχόλια και ερωτήσεις Σας ευχαριστώ για την προσοχή σας Είμαι στη διάθεσή σας για σχόλια, απορίες και ερωτήσεις 32 / 31