Πώς να δημιουργήσετε και να χρησιμοποιήσετε τη λειτουργία ColorFunction στο Excel

  • Μοιραστείτε Αυτό
Hugh West

Στο Excel, δεν υπάρχει καμία λειτουργία για να κάνετε υπολογισμούς με βάση το χρώμα των κελιών. Χρησιμοποιώντας όμως το Microsoft Visual Basic for Applications (VBA) είναι δυνατόν να δημιουργήσετε προσαρμοσμένες συναρτήσεις για υπολογισμούς με βάση το χρώμα των κελιών. Σε αυτό το άρθρο, θα σας δείξω πώς μπορείτε να δημιουργήσετε και να χρησιμοποιήσετε τη συνάρτηση ColorFunction στο Excel.

Ας υποθέσουμε ότι έχουμε ένα σύνολο δεδομένων με τις παραγγελίες προϊόντων μιας εταιρείας. Η στήλη Ποσότητα παραγγελίας Οι παραγγελίες που παραδόθηκαν χρωματίζονται με ανοιχτό πράσινο χρώμα και οι παραγγελίες που βρίσκονται σε παράδοση χρωματίζονται με ανοιχτό πορτοκαλί χρώμα. Τώρα μπορούμε να βρούμε τον αριθμό των πελατών που είτε παρέλαβαν είτε δεν παρέλαβαν τις παραγγελίες τους μετρώντας τα ίδια χρωματισμένα κελιά. Η συνολική ποσότητα της παραγγελίας που παραδόθηκε ή της παραγγελίας που βρίσκεται σε παράδοση μπορεί να βρεθεί με την πρόσθεση των ίδιων χρωματισμένων κελιών.

Κατεβάστε το βιβλίο ασκήσεων

Χρωματική λειτουργία στο Excel.xlsm

ColorFunction στο Excel

Βήμα 1 : Άνοιγμα της ενότητας μακροεντολών στο παράθυρο της VBA

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

Ως αποτέλεσμα, ένα Ενότητα θα ανοίξει το κουτί.

Βήμα 2 : Εισαγωγή κώδικα VBA για τη δημιουργία ColorFunction

Εισάγετε τον ακόλουθο κώδικα, στην ενότητα Ενότητα και κλείστε το πλαίσιο VBA παράθυρο.

 Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 +vResult End If Next rCell End If ColorFunction = vResult End Function 

Εδώ, ο κώδικας VBA δημιουργεί μια προσαρμοσμένη συνάρτηση με όνομα ΧρώμαΛειτουργία η οποία θα μετρήσει τα χρωματιστά κελιά αν δώσουμε το επιχείρημα ως FALSE και θα αθροίσει τα χρωματιστά κελιά αν δώσουμε το επιχείρημα ως ΑΛΗΘΕΙΑ.

Βήμα 3 : Αποθήκευση του βιβλίου εργασίας ως Excel Macro Enabled Workbook

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

Μετά από αυτό, επιλέξτε Αποθήκευση ως.

Στη συνέχεια επιλέξτε Βιβλίο εργασίας του Excel με δυνατότητα μακροεντολών (*xlsm) και κάντε κλικ στο Αποθήκευση.

Βήμα 4 : Χρήση της συνάρτησης ColorFunction για την καταμέτρηση χρωματιστών κελιών

Τώρα μπορείτε να χρησιμοποιήσετε την προσαρμοσμένη ΧρώμαΛειτουργία.

Για να λάβετε τον αριθμό των ανοιχτοπράσινων κελιών, πληκτρολογήστε τον ακόλουθο τύπο σε ένα κενό κελί,

=ColorFunction(F5,$D$5:$D$11,FALSE)

Ορίστε, F5 = Κριτήριο κελί που θα μετρήσει το χρώμα

$D$5:$D$11 = Εύρος για το count

FALSE υποδεικνύει ότι θα μετρηθεί ο αριθμός των κελιών που έχουν το ίδιο χρώμα με το κελί του κριτηρίου.

Τύπος ENTER και θα λάβετε την καταμέτρηση των ανοιχτοπράσινων κυττάρων.

Με παρόμοιο τρόπο, μπορείτε να λάβετε τον αριθμό για τα ανοιχτοπορτοκαλί κύτταρα.

Βήμα 5 : Χρήση της ColorFunction για άθροισμα χρωματιστών κελιών

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

=ColorFunction(F5,$D$5:$D$11,TRUE)

Ορίστε, F5 = Κελί κριτηρίου του οποίου το χρώμα θα αθροιστεί

$D$5:$D$11 = Εύρος για το άθροισμα

ΑΛΗΘΙΝΟ υποδεικνύει ότι θα προστεθεί ο αριθμός των κελιών που έχουν το ίδιο χρώμα με το κελί του κριτηρίου.

θα λάβετε το άθροισμα των ανοιχτοπράσινων κελιών πατώντας ENTER.

Με παρόμοιο τρόπο, μπορείτε να πάρετε το άθροισμα των ανοιχτοπορτοκαλί κελιών.

Εναλλακτικοί τρόποι για να μετρήσετε και να αθροίσετε έγχρωμο κύτταρο

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

1. Χρήση των λειτουργιών FILTER και SUBTOTAL

Μπορείτε να λάβετε τον αριθμό και το άθροισμα των χρωματιστών κελιών χρησιμοποιώντας Φίλτρο και τη συνάρτηση SUBTOTAL .

Πρώτον, μεταβείτε στο Δεδομένα και κάντε κλικ στο Φίλτρο.

Μετά από αυτό θα εμφανιστεί ένα προς τα κάτω βέλος δίπλα στην επικεφαλίδα κάθε στήλης σας. Κάντε κλικ στο προς τα κάτω βέλος δίπλα από το Ποσότητα παραγγελίας (Έγχρωμη στήλη), μεταβείτε στο Φίλτρο ανά χρώμα , και επιλέξτε το ανοιχτό πράσινο χρώμα.

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

=SUBTOTAL(2,D5:D11)

Εδώ 2 υποδεικνύει ότι το κύτταρο θα καταμετρηθεί και D5:D11 είναι το εύρος των δεδομένων.

Αφού πατήσετε ENTER θα λάβετε τον αριθμό των κυττάρων ανοιχτού πράσινου χρώματος.

Για να λάβετε το άθροισμα των χρωματιστών κελιών, πληκτρολογήστε τον ακόλουθο τύπο,

=SUBTOTAL(9,D5:D11)

Εδώ 9 υποδεικνύει ότι το κελί θα αθροιστεί και D5:D11 είναι το εύρος των δεδομένων

Αφού πατήσετε ENTER θα λάβετε το άθροισμα των κελιών ανοιχτού πράσινου χρώματος.

Αλλάζοντας το φίλτρο σε ανοιχτό πορτοκαλί χρώμα, μπορείτε να λάβετε την καταμέτρηση και το άθροισμα των κυττάρων πορτοκαλί χρώματος.

2. Χρήση της λειτουργίας GET.CELL

Χρησιμοποιώντας το GET.CELL μπορείτε επίσης να μετρήσετε και να αθροίσετε τα χρωματιστά κελιά.

Πρώτον, μεταβείτε στο Τύποι και επιλέξτε Όνομα ορισμού.

A Νέο όνομα Πληκτρολογήστε ένα όνομα όπως Χρώμα στο Όνομα Box. και Εισάγετε τον τύπο στο Αναφέρεται σε και πατήστε ΕΝΤΆΞΕΙ.

=GET.CELL(38,'GET CELL'!$D5)

Εδώ το 38 δηλώνει ότι ο τύπος θα δώσει τον κωδικό χρώματος του αναφερόμενου κελιού και το 'GET CELL'!$D5 είναι το αναφερόμενο κελί (το πρώτο κελί μετά την επικεφαλίδα της έγχρωμης στήλης)

Τώρα πληκτρολογήστε =Color (Όνομα που δώσατε προηγουμένως στο Ορισμός ονομάτων box) στη διπλανή στήλη της χρωματιστής στήλης σας.

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

Τώρα πληκτρολογήστε τον ακόλουθο τύπο για να λάβετε τον αριθμό των κελιών ανοιχτού πράσινου χρώματος

=COUNTIF($E$5:$E$11,50)

Ορίστε, $E$5:$E$11 είναι το εύρος για την καταμέτρηση και 50 είναι ο χρωματικός κωδικός του ανοιχτού πράσινου.

Αφού πατήσετε Εισάγετε το θα λάβετε τον αριθμό των κυττάρων πράσινου χρώματος.

Πληκτρολογήστε τον ακόλουθο τύπο για να λάβετε το άθροισμα των κελιών με ανοιχτό πράσινο χρώμα,

=SUMIF(E5:E11,50,D5:D11)

Ορίστε, E5:E11 είναι το εύρος των κριτηρίων, το 50 υποδηλώνει τον χρωματικό κώδικα του ανοιχτού πράσινου και D5:D11 είναι το εύρος του αθροίσματος.

Τύπος ENTER και θα λάβετε το άθροισμα όλων των κελιών πράσινου χρώματος.

Με παρόμοιο τρόπο, μπορείτε να λάβετε τον αριθμό και το άθροισμα των κελιών ανοιχτού πορτοκαλί χρώματος.

Συμπέρασμα

Ελπίζω ότι μετά τη μελέτη του άρθρου τώρα μπορείτε να δημιουργήσετε και να χρησιμοποιήσετε τη λειτουργία ColorFunction στο Excel. Αν αντιμετωπίσετε οποιοδήποτε πρόβλημα, αφήστε ένα σχόλιο.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.