Αθροίστε τους αριθμούς ψηφίων σε ένα κελί χρησιμοποιώντας προσαρμοσμένη συνάρτηση VBA στο Microsoft Excel

Anonim

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

Τα δείγματα δεδομένων για αυτό το παράδειγμα αποτελούνται από δεδομένα πωλήσεων. Κάθε αντιπρόσωπος έχει πουλήσει διαφορετικά προϊόντα. Σε ένα κελί έχουμε αριθμό πωληθέντων στοιχείων ακολουθούμενο από το όνομα του προϊόντος. Θέλουμε να βρούμε το συνολικό είδος που πωλείται από κάθε πράκτορα.

Δημιουργήσαμε τη συνάρτηση "SumDigits" για τον υπολογισμό του αθροίσματος των ψηφίων στο κελί. Αυτή η συνάρτηση παίρνει το εύρος του κελιού ως είσοδο και επιστρέφει το άθροισμα των ψηφίων στο κελί.

Λογική εξήγηση

Δημιουργήσαμε μια προσαρμοσμένη συνάρτηση "SumDigits" για τον υπολογισμό του αθροίσματος των ψηφίων σε ένα κελί. Σε αυτήν τη συνάρτηση, βρίσκουμε το μήκος της συμβολοσειράς στο κελί και στη συνέχεια βρόχο από τον πρώτο χαρακτήρα στον τελευταίο χαρακτήρα της συμβολοσειράς. Στη συνέχεια βρίσκουμε και προσθέτουμε τις αριθμητικές τιμές που βρίσκονται στη συμβολοσειρά για να πάρουμε το άθροισμα των ψηφίων.

Επεξήγηση κώδικα

Μέση (αριθμός, i, 1)

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

IsNumeric (Τιμή)

Η συνάρτηση IsNumeric χρησιμοποιείται για να ελέγξει εάν η δεδομένη τιμή είναι αριθμητική.

Val (Τιμή)

Η συνάρτηση Val χρησιμοποιείται για τη μετατροπή της συμβολοσειράς σε αριθμητική τιμή.

Ακολουθήστε παρακάτω για τον κωδικό

 Επιλογή ρητή συνάρτηση SumDigits (αριθμός ως παραλλαγή) Dim i ως ακέραιος αριθμός Για i = 1 έως Len (αριθμός) Εάν IsNumeric (μέσο (αριθμός, i, 1)) Τότε SumDigits = SumDigits + Val (Mid (αριθμός, i, 1)) Λειτουργία Τέλος Αν Επόμενο i Τέλος 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email