Δημιουργήστε προσαρμοσμένες συναρτήσεις στο Excel

Σημείωση:  Θέλουμε να σας παρέχουμε το πιο πρόσφατο περιεχόμενο βοήθειας στη γλώσσα σας όσο πιο σύντομα γίνεται. Αυτή η σελίδα έχω μεταφραστεί μέσω αυτοματοποιημένης διαδικασίας και ενδεχομένως να περιέχει γραμματικά λάθη και ανακρίβειες. Ο σκοπός μας είναι αυτό το περιεχόμενο να σας φανεί χρήσιμο. Μπορείτε να μας ενημερώσετε στο κάτω μέρος αυτής της σελίδας εάν οι πληροφορίες σάς φάνηκαν χρήσιμες; Εδώ θα βρείτε το άρθρο στα Αγγλικά , για να το συμβουλεύεστε εύκολα.

Παρόλο που το Excel περιλαμβάνει ένα πλήθος των συναρτήσεων ενσωματωμένη φύλλου εργασίας, το πιθανότερο είναι δεν έχει μια συνάρτηση για κάθε τύπο υπολογισμού που πρέπει να εκτελέσετε. Οι σχεδιαστές του Excel δεν ήταν δυνατό να είναι δυνατόν να πρόκειται να ανάγκες υπολογισμού κάθε χρήστη. Αντί για αυτό, Excel σάς δίνει τη δυνατότητα να δημιουργήσετε προσαρμοσμένες συναρτήσεις, οι οποίες εξηγούνται σε αυτό το άρθρο.

Προσαρμοσμένες συναρτήσεις, όπως οι μακροεντολές, χρησιμοποιήστε γλώσσα προγραμματισμού Visual Basic for Applications (VBA). Διαφέρουν από τις μακροεντολές με δύο τρόπους σημαντική. Πρώτα, μπορούν να χρησιμοποιήσουν διαδικασίες συνάρτησης αντί για διαδικασίες Sub . Αυτό σημαίνει ότι αρχίζουν με μια πρόταση συνάρτηση αντί για μια δήλωση Sub και end με Συνάρτηση τέλος αντί για End Sub. Δεύτερον, μπορούν να εκτελούν υπολογισμούς αντί να κάνετε κάποια ενέργεια. Ορισμένα είδη των προτάσεων, όπως δηλώσεις που επιλέξετε και να διαμορφώσετε περιοχές, εξαιρούνται από προσαρμοσμένες συναρτήσεις. Σε αυτό το άρθρο, θα μάθετε πώς μπορείτε να δημιουργήσετε και να χρησιμοποιήσετε προσαρμοσμένες συναρτήσεις. Για να δημιουργήσετε συναρτήσεις και μακροεντολές, μπορείτε να εργαστείτε με το Πρόγραμμα επεξεργασίας Visual Basic (VBE), το οποίο ανοίγει σε νέο παράθυρο ξεχωριστά από το Excel.

Ας υποθέσουμε ότι η εταιρεία σας προσφέρει μια έκπτωση ποσότητα 10 τοις εκατό πώλησης ενός προϊόντος, παρέχεται η σειρά είναι για περισσότερα από 100 τεμάχια. Στις ακόλουθες παραγράφους, θα σας δείξουμε μια συνάρτηση για να υπολογίσετε αυτή την έκπτωση.

Το παρακάτω παράδειγμα εμφανίζει μια φόρμα παραγγελιών που παραθέτει κάθε στοιχείο, ποσότητα, τιμή, ο έκπτωση (εάν υπάρχουν) και την τιμή που προκύπτει εκτεταμένη.

Φόρμα παραγγελίας παράδειγμα χωρίς μιας προσαρμοσμένης συνάρτησης

Για να δημιουργήσετε μια προσαρμοσμένη συνάρτηση ΈΚΠΤΩΣΗΣ αυτού του βιβλίου εργασίας, ακολουθήστε τα παρακάτω βήματα:

  1. Πατήστε το Συνδυασμό πλήκτρων Alt + F11 για να ανοίξετε την Επεξεργασία Visual Basic (στον υπολογιστή, πατήστε το πλήκτρο FN + ALT + F11 ), και, στη συνέχεια, κάντε κλικ στην επιλογή Εισαγωγή > λειτουργική μονάδα. Εμφανίζεται ένα νέο παράθυρο λειτουργικής μονάδας στη δεξιά πλευρά της επεξεργασίας της Visual Basic.

  2. Αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στη νέα λειτουργική μονάδα.

    Function DISCOUNT(quantity, price)
    If quantity >=100 Then
    DISCOUNT = quantity * price * 0.1
    Else
    DISCOUNT = 0
    End If

    DISCOUNT = Application.Round(Discount, 2)
    End Function

Σημείωση: Για να κάνετε τον κώδικά σας πιο ευανάγνωστο, μπορείτε να χρησιμοποιήσετε το πλήκτρο Tab για να δημιουργήσετε εσοχή γραμμές. Η εσοχή είναι για το όφελος μόνο και είναι προαιρετική, όπως ο κώδικας θα εκτελεστεί με ή χωρίς αυτό. Αφού πληκτρολογήσετε μια γραμμή με εσοχή, της Visual Basic προϋποθέτει την επόμενη γραμμή θα είναι παρόμοια με εσοχή. Για να μετακινήσετε (δηλαδή, προς τα αριστερά) χαρακτήρας μία καρτέλα, πατήστε το Συνδυασμό πλήκτρων Shift + Tab.

Τώρα είστε έτοιμοι να χρησιμοποιήσετε τη νέα συνάρτηση ΈΚΠΤΩΣΗΣ. Κλείστε το πρόγραμμα επεξεργασίας Visual Basic, επιλέξτε το κελί G7 και πληκτρολογήστε τα εξής:

=DISCOUNT(D7,E7)

Το Excel υπολογίζει την έκπτωση 10 τοις εκατό σε 200 μονάδες στο 47.50 $ ανά μονάδα και επιστρέφει $950.00.

Στην πρώτη γραμμή του κώδικα VBA, συνάρτηση DISCOUNT(quantity, price), που υποδεικνύεται ότι η συνάρτηση ΈΚΠΤΩΣΗΣ απαιτεί δύο ορίσματα, Ποσότητα και την τιμή. Όταν καλείτε τη συνάρτηση σε ένα κελί φύλλου εργασίας, πρέπει να συμπεριλάβετε αυτά τα δύο ορίσματα. Τον τύπο = DISCOUNT(D7,E7), D7 είναι το όρισμα Ποσότητα και E7 είναι το όρισμα τιμή . Τώρα μπορείτε να αντιγράψετε τον τύπο ΈΚΠΤΩΣΗΣ σε G8:G13 για να λάβετε τα αποτελέσματα που φαίνεται παρακάτω.

Ας δούμε πώς ερμηνεύει το Excel αυτήν τη διαδικασία συνάρτησης. Όταν πατάτε το πλήκτρο Enter, το Excel αναζητά το όνομα ΈΚΠΤΩΣΗΣ στο τρέχον βιβλίο εργασίας και βρίσκει ότι πρόκειται για μια προσαρμοσμένη συνάρτηση σε μια λειτουργική μονάδα VBA. Τα ονόματα των ορισμάτων που περικλείεται σε παρενθέσεις, Ποσότητα και τιμή, είναι σύμβολα κράτησης θέσης για τις τιμές στο οποίο βασίζεται ο υπολογισμός της έκπτωσης.

Παράδειγμα φόρμα παραγγελίας με μια προσαρμοσμένη συνάρτηση

Το εάν πρόταση στο παρακάτω μπλοκ κώδικα εξετάζει το όρισμα Ποσότητα και προσδιορίζει αν ο αριθμός των στοιχείων που έχουν πωληθεί είναι μεγαλύτερο ή ίσο με 100:

If quantity >= 100 Then
DISCOUNT = quantity * price * 0.1
Else
DISCOUNT = 0
End If

Εάν ο αριθμός των στοιχείων που έχουν πωληθεί είναι μεγαλύτερη ή ίση με 100, η ακόλουθη πρόταση, το οποίο πολλαπλασιάζει την τιμή Ποσότητα με την τιμή τιμή και, στη συνέχεια, πολλαπλασιάζει το αποτέλεσμα με 0,1 εκτελεί την VBA:

Discount = quantity * price * 0.1

Το αποτέλεσμα είναι αποθηκευμένο ως η μεταβλητή έκπτωσης. Μια πρόταση VBA που αποθηκεύει μια τιμή σε μια μεταβλητή ονομάζεται μια πρόταση ανάθεσης , επειδή αξιολογείται η παράσταση στη δεξιά πλευρά του συμβόλου ίσον και εκχωρεί το αποτέλεσμα με το όνομα της μεταβλητής στην αριστερή πλευρά. Επειδή η μεταβλητή έκπτωσης έχει το ίδιο όνομα με τη συνάρτηση διαδικασία, επιστρέφεται η τιμή που είναι αποθηκευμένα στη μεταβλητή για τον τύπο του φύλλου εργασίας που ονομάζεται συνάρτηση ΈΚΠΤΩΣΗΣ.

Εάν η Ποσότητα είναι μικρότερος του 100, VBA εκτελεί την ακόλουθη πρόταση:

Discount = 0

Τέλος, η ακόλουθη πρόταση στρογγυλοποιεί την τιμή που έχει αντιστοιχιστεί στη μεταβλητή έκπτωσης με δύο δεκαδικά ψηφία:

Discount = Application.Round(Discount, 2)

Δεν υπάρχει συνάρτηση ROUND περιλαμβάνει VBA, αλλά γνωρίζει το Excel. Επομένως, για να χρησιμοποιήσετε ROUND σε αυτήν τη δήλωση, μπορείτε να καταλάβετε VBA για να κάνετε αναζήτηση για τη μέθοδο Round (συνάρτηση) στο αντικείμενο Application (Excel). Κάνετε αυτό, προσθέτοντας την εφαρμογή word πριν από τη λέξη Round. Χρησιμοποιήστε αυτήν τη σύνταξη κάθε φορά που πρέπει να έχετε πρόσβαση σε μια συνάρτηση του Excel από μια λειτουργική μονάδα VBA.

Μια προσαρμοσμένη συνάρτηση πρέπει να ξεκινήσετε με μια πρόταση συνάρτηση και τελειώνει με μια δήλωση συνάρτησης τέλος. Εκτός από το όνομα συνάρτησης, η συνάρτηση πρόταση καθορίζει συνήθως ένα ή περισσότερα ορίσματα. Μπορείτε, ωστόσο, να δημιουργήσετε μια συνάρτηση χωρίς ορίσματα. Excel περιλαμβάνει πολλές ενσωματωμένες συναρτήσεις — RAND και ΤΏΡΑ, για παράδειγμα — που δεν χρησιμοποιείτε ορίσματα.

Μετά τη δήλωση, η συνάρτηση μια διαδικασία συνάρτησης περιλαμβάνει μία ή περισσότερες προτάσεις VBA που αποφάσεων και να εκτελέσετε υπολογισμούς χρησιμοποιώντας τα ορίσματα που δόθηκαν στη συνάρτηση. Τέλος, κάπου στη συνάρτηση διαδικασία, πρέπει να συμπεριλάβετε μια πρόταση που εκχωρεί μια τιμή σε μια μεταβλητή με το ίδιο όνομα με τη συνάρτηση. Αυτή η τιμή επιστρέφει τον τύπο που καλεί τη συνάρτηση.

Ο αριθμός των λέξεων-κλειδιών VBA που μπορείτε να χρησιμοποιήσετε σε προσαρμοσμένες συναρτήσεις είναι μικρότερος από τον αριθμό μπορείτε να χρησιμοποιήσετε με τις μακροεντολές. Προσαρμοσμένες συναρτήσεις δεν επιτρέπεται να κάνετε τίποτα εκτός από επιστροφής μια τιμή σε έναν τύπο σε ένα φύλλο εργασίας ή σε μια παράσταση που χρησιμοποιείται σε μια άλλη μακροεντολή VBA ή μια συνάρτηση. Για παράδειγμα, προσαρμοσμένες συναρτήσεις δεν είναι δυνατό να αλλάξετε το μέγεθος των windows, επεξεργασία ενός τύπου σε ένα κελί, ή να αλλάξετε τη γραμματοσειρά, χρώμα ή μοτίβο επιλογές για το κείμενο σε ένα κελί. Εάν συμπεριλάβετε κώδικα "ενέργεια" αυτού του είδους σε μια διαδικασία συνάρτησης, η συνάρτηση επιστρέφει το #VALUE!. σφάλμα.

Η ενέργεια μία να κάνετε μια διαδικασία συνάρτησης (εκτός από την εκτέλεση υπολογισμών) είναι εμφάνιση ενός παραθύρου διαλόγου. Μπορείτε να χρησιμοποιήσετε μια δήλωση InputBox σε μια προσαρμοσμένη συνάρτηση ως μέσο γρήγορα εισαγωγή δεδομένων από το χρήστη να εκτελέσετε τη λειτουργία. Μπορείτε να χρησιμοποιήσετε μια πρόταση MsgBox ως μέσο μεταφοράς πληροφορίες για το χρήστη. Μπορείτε επίσης να χρησιμοποιήσετε προσαρμοσμένα παράθυρα διαλόγου ή φόρμες χρήστη, αλλά αυτό είναι ένα θέμα πέρα από το εύρος της αυτή την εισαγωγή.

Ακόμη και οι απλές μακροεντολές και προσαρμοσμένες συναρτήσεις μπορεί να είναι δύσκολο να διαβάσετε. Μπορείτε να τα κάνετε πιο κατανοητό, πληκτρολογώντας επεξηγηματικό κείμενο με τη μορφή των σχολίων. Μπορείτε να προσθέσετε σχόλια πριν από το επεξηγηματικό κείμενο με μια απόστροφος. Για παράδειγμα, το παρακάτω παράδειγμα εμφανίζει τη συνάρτηση ΈΚΠΤΩΣΗΣ με σχόλια. Προσθήκη σχολίων όπως αυτά διευκολύνει για εσάς ή σε άλλα άτομα για να διατηρήσετε τον κώδικα VBA με την πάροδο του χρόνου. Εάν πρέπει να κάνετε την αλλαγή του κώδικα στο μέλλον, θα έχετε μια πιο εύκολη ώρα Κατανόηση αυτά που έκανε αρχικά.

Παράδειγμα μιας συνάρτησης VBA με σχόλια

Μια απόστροφος υποδεικνύει στο Excel για να αγνοήσετε τα πάντα προς τα δεξιά στην ίδια γραμμή, ώστε να μπορείτε να δημιουργήσετε σχόλια είτε σε γραμμές μόνες ή στη δεξιά πλευρά των γραμμών που περιέχουν VBA κώδικα. Μπορείτε να μπορεί να ξεκινήσει ένα σχετικά μεγάλων μπλοκ κώδικα με σχόλιο που εξηγεί τη συνολική σκοπό και, στη συνέχεια, να χρησιμοποιήσετε ενσωματωμένα σχόλια σε μεμονωμένες προτάσεις εγγράφου.

Ένας άλλος τρόπος για να τεκμηριώσετε σας μακροεντολές και προσαρμοσμένες συναρτήσεις είναι για να τους δώσετε περιγραφικά ονόματα. Για παράδειγμα, και όχι το όνομα μιας μακροεντολής ετικέτες, μπορείτε να δώσετε το MonthLabels για να περιγράψετε πιο συγκεκριμένα το σκοπό χρησιμοποιείται η μακροεντολή. Χρήση περιγραφικό ονομάτων για μακροεντολές και προσαρμοσμένες συναρτήσεις είναι ιδιαίτερα χρήσιμη όταν έχετε δημιουργήσει πολλούς διαδικασίες, ιδιαίτερα εάν δημιουργείτε διαδικασίες που έχουν παρόμοια αλλά όχι πανομοιότυπα σκοπούς.

Πώς μπορείτε να τεκμηριώσετε σας μακροεντολές και προσαρμοσμένες συναρτήσεις είναι θέμα προσωπικών προτιμήσεων. Τι είναι το σημαντικό είναι να υιοθετήσουν κάποια μέθοδο της τεκμηρίωσης και χρησιμοποιήστε το με συνέπεια.

Για να χρησιμοποιήσετε μια προσαρμοσμένη συνάρτηση, πρέπει να είναι ανοιχτό το βιβλίο εργασίας που περιέχει τη λειτουργική μονάδα στην οποία δημιουργήσατε τη συνάρτηση. Εάν αυτό το βιβλίο εργασίας δεν είναι ανοικτό, μπορείτε να λάβετε μια #NAME; σφάλμα όταν προσπαθείτε να χρησιμοποιήσετε τη συνάρτηση. Εάν κάνετε παραπομπή της συνάρτησης σε διαφορετικό βιβλίο εργασίας, πρέπει να προηγείται το όνομα συνάρτησης με το όνομα του βιβλίου εργασίας στον οποίο βρίσκεται η συνάρτηση. Για παράδειγμα, εάν δημιουργήσετε μια συνάρτηση που ονομάζεται ΈΚΠΤΩΣΗ σε ένα βιβλίο εργασίας που ονομάζεται Personal.xlsb και καλέστε αυτήν τη συνάρτηση από ένα άλλο βιβλίο εργασίας, πρέπει να πληκτρολογήσετε =personal.xlsb!discount(), όχι απλώς =discount().

Μπορείτε να αποθηκεύσετε τον εαυτό σας ορισμένες πατήματα πλήκτρων (και πιθανές λάθη πληκτρολόγησης), επιλέγοντας τις προσαρμοσμένες συναρτήσεις από το παράθυρο διαλόγου Εισαγωγή συνάρτησης. Προσαρμοσμένες συναρτήσεις σας εμφανίζονται στην κατηγορία που ορίζονται από το χρήστη:

Παράθυρο διαλόγου "Εισαγωγή συνάρτησης"

Μια πιο εύκολο τρόπο για τη διάθεση σας προσαρμοσμένες συναρτήσεις στο είναι πάντα να τις αποθηκεύσετε σε ένα νέο βιβλίο εργασίας και, στη συνέχεια, να αποθηκεύσετε αυτό το βιβλίο εργασίας ως προσθέτου. Μπορείτε να, στη συνέχεια, κάνετε του προσθέτου διαθέσιμη κάθε φορά που εκτελείτε το Excel. Ακολουθεί ο τρόπος για να κάνετε το εξής:

  1. Αφού δημιουργήσετε τις συναρτήσεις που χρειάζεστε, κάντε κλικ στην επιλογή αρχείο > Αποθήκευση ως.

    Στο Excel 2007, κάντε κλικ στο Κουμπί του Microsoft Office και κάντε κλικ στην επιλογή Αποθήκευση ως

  2. Στο παράθυρο διαλόγου Αποθήκευση ως, ανοίξτε την αναπτυσσόμενη λίστα Αποθήκευση ως τύπου, και επιλέξτε Προσθήκη του Excel. Αποθηκεύστε το βιβλίο εργασίας με αναγνωρίσιμα όνομα, όπως MyFunctions, στο φάκελο AddIns . Παράθυρο διαλόγου Αποθήκευση ως θα προτείνει αυτόν το φάκελο, έτσι ώστε μόνο που πρέπει να κάνετε είναι να αποδεχθείτε την προεπιλεγμένη θέση.

  3. Αφού έχετε αποθηκεύσει το βιβλίο εργασίας, κάντε κλικ στην επιλογή αρχείο > Επιλογές του Excel.

    Στο Excel 2007, κάντε κλικ στο Κουμπί του Microsoft Office και κάντε κλικ στην εντολή Επιλογές του Excel.

  4. Στο παράθυρο διαλόγου Επιλογές του Excel, κάντε κλικ στην κατηγορία Πρόσθετα.

  5. Στην αναπτυσσόμενη λίστα Διαχείριση, επιλέξτε Πρόσθετα του Excel. Στη συνέχεια, κάντε κλικ στο κουμπί Μετάβαση.

  6. Στο παράθυρο διαλόγου Πρόσθετα, επιλέξτε το πλαίσιο ελέγχου δίπλα στο όνομα που χρησιμοποιήσατε για να αποθηκεύσετε το βιβλίο εργασίας, όπως φαίνεται παρακάτω.

    παράθυρο διαλόγου "πρόσθετα"

  1. Αφού δημιουργήσετε τις συναρτήσεις που χρειάζεστε, κάντε κλικ στην επιλογή αρχείο > Αποθήκευση ως.

  2. Στο παράθυρο διαλόγου Αποθήκευση ως, ανοίξτε την αναπτυσσόμενη λίστα Αποθήκευση ως τύπου, και επιλέξτε Προσθήκη του Excel. Αποθηκεύστε το βιβλίο εργασίας με αναγνωρίσιμα όνομα, όπως MyFunctions.

  3. Αφού έχετε αποθηκεύσει το βιβλίο εργασίας, κάντε κλικ στην επιλογή Εργαλεία > Πρόσθετα του Excel.

  4. Στο παράθυρο διαλόγου Πρόσθετα, επιλέξτε το κουμπί "Αναζήτηση" για να βρείτε το πρόσθετο του, κάντε κλικ στην επιλογή Άνοιγμα και, στη συνέχεια, επιλέξτε το πλαίσιο δίπλα από το πρόσθετο στο πλαίσιο Διαθέσιμα πρόσθετα.

Αφού ακολουθήσετε αυτά τα βήματα, τις προσαρμοσμένες συναρτήσεις θα είναι διαθέσιμη κάθε φορά που εκτελείτε το Excel. Εάν θέλετε να προσθέσετε στη βιβλιοθήκη σας συνάρτηση, επιστρέψτε στο πρόγραμμα επεξεργασίας Visual Basic. Εάν εμφανίζονται στο πρόγραμμα επεξεργασίας Visual Basic Project Explorer κάτω από μια επικεφαλίδα VBAProject, θα δείτε μια λειτουργική μονάδα με το όνομα μετά την προσθήκη στο αρχείο σας. Το πρόσθετο του θα έχουν την επέκταση .xlam.

Όνομα λειτουργικής μονάδας στη VBE

Κάνοντας διπλό κλικ σε αυτήν τη λειτουργική μονάδα στην Εξερεύνηση έργου έχει ως αποτέλεσμα της Visual Basic για να εμφανίσετε τον κωδικό συνάρτηση. Για να προσθέσετε μια νέα συνάρτηση, τοποθετήστε το σημείο εισαγωγής μετά την πρόταση End Function που τερματίζει την τελευταία συνάρτηση στο παράθυρο κώδικα και αρχίστε να πληκτρολογείτε. Μπορείτε να δημιουργήσετε με πολλές συναρτήσεις χρειάζεστε με αυτόν τον τρόπο και πάντα θα είναι διαθέσιμες στην κατηγορία που ορίζονται από το χρήστη στο παράθυρο διαλόγου Εισαγωγή συνάρτησης.

Αυτό το περιεχόμενο έχει συνταχθεί αρχικά από σήμανση φωτισμός και Craig Stinson ως τμήμα του Microsoft Office Excel 2007 Inside Outτους βιβλίου. Εφόσον ενημερώθηκε για να εφαρμόσετε σε νεότερες εκδόσεις του Excel με φυσική παρουσία.

Χρειάζεστε περισσότερη βοήθεια;

Μπορείτε ανά πάσα στιγμή να ρωτήσετε έναν ειδικό στην Κοινότητα τεχνικής υποστήριξης του Excel, να λάβετε υποστήριξη από την κοινότητα Answers ή να προτείνετε μια νέα δυνατότητα ή βελτίωση στο Excel User Voice.

Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×