Χρώματα πίνακα περιστρεφόμενου πίνακα - Συμβουλές για το Excel

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

Ο Shari στέλνει στην ερώτηση Excel αυτής της εβδομάδας.

Δεν μπόρεσα να βρω την απάντηση σε αυτό από το τμήμα πληροφορικής μας, τα αρχεία βοήθειας του Excel ή την ηλεκτρονική βοήθεια του Microsoft Excel και ελπίζω να βοηθήσετε

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

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

Ο MrExcel δοκίμασε το συγκεντρωτικό γράφημα για πρώτη φορά. Τα συγκεντρωτικά γραφήματα είναι ένας πολύ ισχυρός τρόπος για να δημιουργήσετε ένα γράφημα για πολλά διαφορετικά σενάρια δεδομένων, αλλά έχουν αυτό το ενοχλητικό ελάττωμα. Έχω δημιουργήσει τον συγκεντρωτικό πίνακα με το έτος τάξης ως σειρά, το έτος ως τη σελίδα. Ζήτησα να ταξινομηθεί το έτος της τάξης με βάση φθίνουσες βαθμολογίες. Καθώς αλλάζετε το γράφημα περιστροφής από έτος σε έτος, τα χρώματα των φετών πίτας που σχετίζονται με το Freshman θα αλλάξουν. Μερικά χρόνια υπάρχουν μέλη και από τις τέσσερις τάξεις, άλλα χρόνια υπάρχουν μέλη από μόλις 3 τάξεις.

Δείγμα συγκεντρωτικού γραφήματος

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

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

Δείγμα συγκεντρωτικού γραφήματος

Το Excel χρησιμοποίησε τα παραπάνω χρώματα για το 1990, αλλά το 1991 τα χρώματα αλλάζουν καθώς ο αριθμός των στοιχείων και η ακολουθία τους αλλάζει:

Η ακόλουθη μακροεντολή είναι κωδικοποιημένη για το συγκεκριμένο παράδειγμα της Shari όπου έχει πιθανές τιμές των Freshman, Sophomore, Junior και Senior. Προσθέτοντας πρόσθετες δηλώσεις περίπτωσης με διαφορετικούς δείκτες χρωμάτων, μπορείτε να το προσαρμόσετε για να χειριστείτε τη συγκεκριμένη κατάστασή σας.

Sub ColorPieSlices() ' Copyright 1999.com ' This macro will re-color the pie slices in a chart ' So that slices for a specific category are similarly colored ' Select the chart before calling the macro ' ' Find the number of pie slices in this chart NumPoints = ActiveChart.SeriesCollection(1).Points.Count ' Loop through each pie slice For x = 1 To NumPoints ' Save the label currently attached to this slice If ActiveChart.SeriesCollection(1). _ Points(x).HasDataLabel = True Then SavePtLabel = ActiveChart.SeriesCollection(1) _ .Points(x).DataLabel.Text Else SavePtLabel = "" End If ' Assign a new data label of just the point name ActiveChart.SeriesCollection(1).Points(x).ApplyDataLabels Type:= _ xlDataLabelsShowLabel, AutoText:=True ThisPt = ActiveChart.SeriesCollection(1).Points(x).DataLabel.Text ' Based on the label of this slice, set the color Select Case ThisPt Case "Freshman" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 3 Case "Sophomore" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 4 Case "Junior" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 5 Case "Senior" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 6 Case Else ' Add code here to handle an unexpected label End Select ' Return the label to it's original pre-macro state ActiveChart.SeriesCollection(1). _ Points(x).DataLabel.Text = SavePtLabel Next x End Sub

Ξεκινήστε το πρόγραμμα επεξεργασίας VB με alt-F11. Εισαγωγή - Ενότητα. Εισαγωγή διαδικασίας. Πληκτρολογήστε ColorPieSlices ως το όνομα και κάντε κλικ στο OK. Εισαγάγετε την παραπάνω μακροεντολή.

Για να διευκολύνετε τη ζωή, αντιστοιχίστε τη μακροεντολή σε μια συντόμευση στο Excel. Στο Excel, κάντε Εργαλεία - Μακροεντολή. Επισημάνετε το ColorPieSlices και κάντε κλικ στο κουμπί επιλογών. Στο πλαίσιο πλήκτρου συντόμευσης, εισαγάγετε ένα "d". Κάντε κλικ στο OK και κλείστε το παράθυρο διαλόγου Macro κάνοντας κλικ στο "x" στην επάνω δεξιά γωνία. Τώρα, αφού αλλάξετε το Pivot Chart, μπορείτε να πατήσετε Ctrl + D για να χρωματίσετε ξανά τις φέτες πίτας στο χρώμα που προτιμάτε.

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