Πώς να χρησιμοποιήσετε τη συνάρτηση Excel LAMBDA -

Πίνακας περιεχομένων

Περίληψη

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

Σκοπός

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

Τιμή επιστροφής

Όπως ορίζεται από τον τύπο

Σύνταξη

= LAMBDA (παράμετρος,…, υπολογισμός)

Επιχειρήματα

  • παράμετρος - Μια τιμή εισαγωγής για τη συνάρτηση.
  • υπολογισμός - Ο υπολογισμός που θα εκτελεστεί ως αποτέλεσμα της συνάρτησης. Πρέπει να είναι το τελευταίο επιχείρημα.

Εκδοχή

Excel 365

Σημειώσεις χρήσης

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

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

Παράδειγμα 1 | Παράδειγμα 2 | Παράδειγμα 3

Δημιουργία συνάρτησης LAMBDA

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

Υπάρχουν τέσσερα βασικά βήματα για τη δημιουργία και τη χρήση ενός προσαρμοσμένου τύπου βάσει της συνάρτησης LAMBDA:

  1. Επαληθεύστε τη λογική που θα χρησιμοποιήσετε με έναν τυπικό τύπο
  2. Δημιουργήστε και δοκιμάστε μια γενική (ανώνυμη) έκδοση LAMBDA του τύπου
  3. Ονομάστε και ορίστε τον τύπο LAMBDA με το όνομα διαχειριστή
  4. Δοκιμάστε τη νέα προσαρμοσμένη λειτουργία χρησιμοποιώντας το καθορισμένο όνομα

Τα παρακάτω παραδείγματα συζητούν αυτά τα βήματα με περισσότερες λεπτομέρειες.

Παράδειγμα 1

Για να δείξουμε πώς λειτουργεί το LAMBDA, ας ξεκινήσουμε με έναν πολύ απλό τύπο:

=x*y // multiple x and y

Στο Excel, αυτός ο τύπος θα χρησιμοποιούσε συνήθως αναφορές κυττάρων όπως αυτό:

=B5*C5 // with cell references

Όπως μπορείτε να δείτε, ο τύπος λειτουργεί καλά, οπότε είμαστε έτοιμοι να προχωρήσουμε στη δημιουργία ενός γενικού τύπου LAMBDA (ανώνυμη έκδοση). Το πρώτο πράγμα που πρέπει να λάβετε υπόψη είναι εάν ο τύπος απαιτεί εισόδους (παραμέτρους). Σε αυτήν την περίπτωση, η απάντηση είναι "ναι" - ο τύπος απαιτεί μια τιμή για το x και μια τιμή για το y. Με αυτό που έχει δημιουργηθεί, ξεκινάμε με τη συνάρτηση LAMBDA και προσθέτουμε τις απαιτούμενες παραμέτρους για την είσοδο του χρήστη:

=LAMBDA(x,y // begin with input parameters

Στη συνέχεια, πρέπει να προσθέσουμε τον πραγματικό υπολογισμό, x * y:

=LAMBDA(x,y,x*y)

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

=LAMBDA(x,y,x*y)(B5,C5) // testing syntax

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

Είμαστε τώρα έτοιμοι να ονομάσουμε τη συνάρτηση LAMBDA με το Name Manager. Αρχικά, επιλέξτε τον τύπο, * χωρίς να περιλαμβάνονται * οι παράμετροι δοκιμής στο τέλος. Στη συνέχεια, ανοίξτε το Name Manager με τη συντόμευση Control + F3 και κάντε κλικ στο Νέο.

Στο παράθυρο διαλόγου Νέο όνομα, εισαγάγετε το όνομα "XBYY", αφήστε το πεδίο εφαρμογής στο βιβλίο εργασίας και επικολλήστε τον τύπο που αντιγράψατε στην περιοχή εισαγωγής "Αναφορές σε".

Βεβαιωθείτε ότι ο τύπος ξεκινά με ένα σύμβολο ίσο (=). Τώρα που ο τύπος LAMBDA έχει ένα όνομα, μπορεί να χρησιμοποιηθεί στο βιβλίο εργασίας όπως οποιαδήποτε άλλη λειτουργία. Στην οθόνη κάτω από τον τύπο στο G5, αντιγράφεται κάτω, είναι:

Η νέα προσαρμοσμένη συνάρτηση επιστρέφει το ίδιο αποτέλεσμα με τους άλλους δύο τύπους.

Παράδειγμα 2

Σε αυτό το παράδειγμα, θα μετατρέψουμε έναν τύπο για τον υπολογισμό του όγκου μιας σφαίρας σε μια προσαρμοσμένη συνάρτηση LAMBDA. Ο γενικός τύπος Excel για τον υπολογισμό του όγκου μιας σφαίρας είναι:

=4/3*PI()*A1^3 // volume of sphere

όπου το Α1 αντιπροσωπεύει ακτίνα. Η παρακάτω οθόνη δείχνει αυτόν τον τύπο σε δράση:

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

=LAMBDA(r,4/3*PI()*r^3) // generic lambda

Πίσω στο φύλλο εργασίας, αντικαταστήσαμε τον αρχικό τύπο με τη γενική έκδοση LAMBDA. Παρατηρήστε ότι χρησιμοποιούμε τη δοκιμαστική σύνταξη, η οποία μας επιτρέπει να συνδέσουμε το B5 για ακτίνα:

Τα αποτελέσματα από τον γενικό τύπο LAMBDA είναι ακριβώς τα ίδια με τον αρχικό τύπο, οπότε το επόμενο βήμα είναι να ορίσετε και να ονομάσετε αυτόν τον τύπο LAMBDA με το Name Manager, όπως εξηγείται παραπάνω. Το όνομα που χρησιμοποιείται για μια συνάρτηση LAMBDA μπορεί να είναι οποιοδήποτε έγκυρο όνομα Excel. Σε αυτήν την περίπτωση, θα ονομάσουμε τον τύπο "SphereVolume".

Πίσω στο φύλλο εργασίας, αντικαταστήσαμε τον γενικό τύπο (χωρίς όνομα) LAMBDA με την ονομαστική έκδοση LAMBDA και εισαγάγαμε το B5 για r. Παρατηρήστε ότι τα αποτελέσματα που επιστρέφονται από την προσαρμοσμένη συνάρτηση SphereVolume είναι ακριβώς τα ίδια με τα προηγούμενα αποτελέσματα.

Παράδειγμα 3

Σε αυτό το παράδειγμα, θα δημιουργήσουμε μια συνάρτηση LAMBDA για τη μέτρηση των λέξεων. Το Excel δεν έχει συνάρτηση για αυτόν τον σκοπό, αλλά μπορείτε να μετράτε λέξεις με ένα κελί με έναν προσαρμοσμένο τύπο που βασίζεται στις λειτουργίες LEN και SUBSTITUTE όπως:

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Διαβάστε λεπτομερείς εξηγήσεις εδώ. Εδώ είναι ο τύπος σε δράση σε ένα φύλλο εργασίας:

Παρατηρήστε ότι έχουμε λανθασμένο αριθμό 1 όταν ο τύπος έχει ένα κενό κελί (B10). Θα αντιμετωπίσουμε αυτό το πρόβλημα παρακάτω.

Αυτός ο τύπος απαιτεί μόνο μία είσοδο, δηλαδή το κείμενο που περιέχει λέξεις. Στη συνάρτηση LAMBDA, θα ονομάσουμε αυτό το όρισμα "κείμενο". Εδώ είναι ο τύπος που μετατρέπεται σε LAMBDA:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Η ειδοποίηση "κείμενο" εμφανίζεται ως το πρώτο όρισμα και ο υπολογισμός είναι το δεύτερο και τελευταίο όρισμα. Στην παρακάτω οθόνη, αντικαταστήσαμε τον αρχικό τύπο με τη γενική έκδοση LAMBDA. Παρατηρήστε ότι χρησιμοποιούμε τη δοκιμαστική σύνταξη, η οποία μας επιτρέπει να συνδέσουμε το B5 για κείμενο:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)(B5)

Τα αποτελέσματα από τον γενικό τύπο LAMBDA είναι τα ίδια με τον αρχικό τύπο, οπότε το επόμενο βήμα είναι να ορίσετε και να ονομάσετε αυτόν τον τύπο LAMBDA με το Name Manager, όπως εξηγήθηκε προηγουμένως. Θα ονομάσουμε αυτόν τον τύπο "CountWords".

Παρακάτω, έχουμε αντικαταστήσει τον γενικό τύπο (χωρίς όνομα) LAMBDA με την ονομαστική έκδοση LAMBDA και εισαγάγαμε το B5 για κείμενο. Παρατηρήστε ότι έχουμε ακριβώς τα ίδια αποτελέσματα.

Ο τύπος που χρησιμοποιείται στη Διαχείριση ονόματος για τον ορισμό του CountWords είναι ο ίδιος όπως παραπάνω, χωρίς τη σύνταξη δοκιμής:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Επίλυση του προβλήματος του κενού κελιού

Όπως αναφέρθηκε παραπάνω, ο παραπάνω τύπος επιστρέφει λανθασμένο αριθμό 1 όταν ένα κελί είναι κενό. Αυτό το πρόβλημα μπορεί να επιλυθεί αντικαθιστώντας το +1 με τον παρακάτω κώδικα:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Πλήρης εξήγηση εδώ. Για να ενημερώσουμε τον υπάρχοντα τύπο LAMDA με όνομα, πρέπει και πάλι να χρησιμοποιήσουμε το Name Manager:

  1. Ανοίξτε το Name Manager
  2. Επιλέξτε το όνομα "CountWords" και κάντε κλικ στο "Επεξεργασία"
  3. Αντικαταστήστε τον κωδικό "Αναφέρεται σε" με αυτόν τον τύπο:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+(LEN(TRIM(text))>0))

Μόλις κλείσει το Name Manager, το CountWords λειτουργεί σωστά σε κενά κελιά, όπως φαίνεται παρακάτω:

Σημείωση: ενημερώνοντας τον κωδικό μία φορά στο Name Manager, όλες οι εμφανίσεις του τύπου CountWords ενημερώνονται ταυτόχρονα. Αυτό είναι ένα βασικό πλεονέκτημα των προσαρμοσμένων λειτουργιών που δημιουργούνται με LAMBDA - η διαχείριση ενημερώσεων τύπου μπορεί να γίνει σε ένα μέρος.

ενδιαφέροντα άρθρα...