
Γενική φόρμουλα
=SUMPRODUCT(data*(headers=A1))
Περίληψη
Για να αθροίσετε τιμές σε στήλες με αντιστοίχιση αντίστοιχων κεφαλίδων στηλών, μπορείτε να χρησιμοποιήσετε έναν τύπο που βασίζεται στη συνάρτηση SUMPRODUCT. Στο παράδειγμα που εμφανίζεται, ο τύπος στο J5 είναι:
=SUMPRODUCT(data*(LEFT(headers)=J4))
όπου "δεδομένα" είναι η ονομαζόμενη περιοχή B5: G14 και "headers" είναι η ονομαζόμενη περιοχή B4: G4.
Ο τύπος αθροίζει τις στήλες όπου οι κεφαλίδες ξεκινούν με "a" και επιστρέφουν 201.
Εξήγηση
Στον πυρήνα, αυτός ο τύπος βασίζεται στη συνάρτηση SUMPRODUCT για το άθροισμα τιμών σε αντίστοιχες στήλες στο ονομαζόμενο εύρος "δεδομένα" C5: G14. Εάν όλα τα δεδομένα παρασχέθηκαν στο SUMPRODUCT σε ένα μόνο εύρος, το αποτέλεσμα θα ήταν το άθροισμα όλων των τιμών στο εύρος:
=SUMPRODUCT(data) // all data, returns 387
Για να εφαρμόσετε ένα φίλτρο αντιστοιχίζοντας κεφαλίδες στηλών - στήλες με κεφαλίδες που ξεκινούν με "A" - χρησιμοποιούμε τη συνάρτηση LEFT ως εξής:
LEFT(headers)=J4) // must begin with "a"
Αυτή η έκφραση επιστρέφει ΑΛΗΘΕΙΑ εάν μια κεφαλίδα στήλης ξεκινά με "a" και FALSE εάν όχι. Το αποτέλεσμα είναι ένας πίνακας:
(TRUE,TRUE,FALSE,FALSE,TRUE,FALSE)
Μπορείτε να δείτε ότι οι τιμές 1,2 και 5 αντιστοιχούν σε στήλες που ξεκινούν με "a".
Μέσα στο SUMPRODUCT, αυτός ο πίνακας πολλαπλασιάζεται με "δεδομένα". Λόγω της μετάδοσης, το αποτέλεσμα είναι ένας δισδιάστατος πίνακας ως εξής:
(8,10,0,0,7,0;9,10,0,0,10,0;8,6,0,0,6,0;7,6,0,0,6,0;8,6,0,0,6,0;10,11,0,0,7,0;7,8,0,0,8,0;2,3,0,0,3,0;3,4,0,0,4,0;7,7,0,0,4,0)
Εάν απεικονίσουμε αυτόν τον πίνακα σε έναν πίνακα, είναι εύκολο να δούμε ότι μόνο οι τιμές σε στήλες που ξεκινούν με "a" έχουν επιβιώσει από τη λειτουργία, όλες οι άλλες στήλες είναι μηδέν. Με άλλα λόγια, το φίλτρο διατηρεί τιμές ενδιαφέροντος και "ακυρώνει" τα υπόλοιπα:
Α001 | Α002 | Β001 | Β002 | Α003 | Β003 |
---|---|---|---|---|---|
8 | 10 | 0 | 0 | 7 | 0 |
9 | 10 | 0 | 0 | 10 | 0 |
8 | 6 | 0 | 0 | 6 | 0 |
7 | 6 | 0 | 0 | 6 | 0 |
8 | 6 | 0 | 0 | 6 | 0 |
10 | 11 | 0 | 0 | 7 | 0 |
7 | 8 | 0 | 0 | 8 | 0 |
2 | 3 | 0 | 0 | 3 | 0 |
3 | 4 | 0 | 0 | 4 | 0 |
7 | 7 | 0 | 0 | 4 | 0 |
Με μόνο έναν πίνακα για επεξεργασία, το SUMPRODUCT επιστρέφει το άθροισμα όλων των τιμών, 201.
Άθροισμα με ακριβή αντιστοίχιση
Το παραπάνω παράδειγμα δείχνει πώς να αθροίζετε στήλες που ξεκινούν με έναν ή περισσότερους συγκεκριμένους χαρακτήρες. Για να συνοψίσετε τη στήλη με βάση την ακριβή αντιστοίχιση, μπορείτε να χρησιμοποιήσετε έναν απλούστερο τύπο όπως αυτό:
=SUMPRODUCT(data*(headers=J4))