H TRANSPOSE και τα …ξαδέλφια της

Χρήση της INDEX για το μετασχηματισμό περιοχών.

Η συνάρτηση TRANSPOSE(array) του excel, μετατρέπει μια γραμμή σε στήλη, μία στήλη σε γραμμή ή μια ορθογώνια περιοχή C στηλών και R γραμμών την αναστρέφει σε μια ορθογώνια περιοχή R στηλών και C γραμμών. Μετατρέπει δηλαδή τις στήλες σε γραμμές και τις γραμμές σε στήλες.
Η συνάρτηση TRANSPOSE είναι “συνάρτηση πίνακας πολλών κελιών” και σαν έτσι πρέπει να εισάγεται, σε μια περιοχή που έχει τον ίδιο αριθμό γραμμών και στηλών με τις στήλες και γραμμές της περιοχής προέλευσης (array).
Αν θέλετε να αναστρέψετε την 7 γραμμών και 4 στηλών περιοχή A1:D7, θα επιλέξετε μια περιοχή 4 γραμμών και 7 στηλών, ας πούμε A10:G13 και όπως είναι επιλεγμένη η περιοχή με ενεργό το πρώτο της κελί Α10 γράφετε την συνάρτηση:

 =TRANSPOSE(A1:D7)

transpose1

και αμέσως πατάτε ταυτόχρονα Ctrl+Shift+Enter και όλη η περιοχή A10:G13 γεμίζει με τα στοιχεία της περιοχής A1:D7 ανεστραμμένα.

transpose2
Προσέξτε στη γραμμή των τύπων. Το excel περικλείει αυτόματα τον τύπο της συνάρτησης σε άγκιστρα:

 { =TRANSPOSE(A1:D7)}

Υπάρχει και άλλος τρόπος να εισάγετε τη συνάρτηση: Γράψτε στο κελί Α10 τη συνάρτηση =TRANSPOSE(A1:D7), μετά επιλέξτε την περιοχή A10:G13, πατήστε F2 και αμέσως μετά Ctrl+Shift+Enter.
Πιο πολλά για τις “συναρτήσεις πίνακες” στο σχετικό σημείωμα του ιστολογίου “συναρτήσεις – πίνακες ή Ctrl+Shift+Enter συναρτήσεις”

Η TRANSPOSE(array) είναι όμως μια συνάρτηση …ανάδελφη. Το excel δεν παρέχει άλλες ενσωματωμένες συναρτήσεις για τον μετασχηματισμό περιοχών. Δεν υπάρχει συνάρτηση που να αντιστρέφει (πάνω – κάτω ή δεξιά – αριστερά) μια περιοχή ή να αναστρέφει και να αντιστρέφει ταυτόχρονα κλπ. Αυτό όμως δεν σημαίνει ότι τα προβλήματα αυτά δεν λύνονται. Το σημερινό σημείωμα συνοδεύεται από ένα excel βιβλίο όπου θα δείτε πως μπορεί η συνάρτηση

 =INDEX(array;row_num;column_num)

με κατάλληλη σύνταξη να αντιμετωπίσει τις περιπτώσεις αυτές.
Παράδειγμα για μια περιοχή 6 γραμμών και 3 στηλών, ή Ctrl+Shift+Enter συναρτήση:

 =INDEX(array;{6;5;4;3;4;1};{3\2\1})

θα την αναστρέψει και θα την αντιστρέψει ταυτόχρονα
Αν η ορθογώνια περιοχή έχει μεγάλες διαστάσεις, τότε η συνάρτηση θα συνταχτεί :

 =INDEX(array;TRANSPOSE(7-ROW(INDIRECT("1:6")));4-ROW(INDIRECT("1:3")))

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

 =INDEX(array;TRANSPOSE(1+ROWS(array)-ROW(INDIRECT("1:"&ROWS(array))));1+COLUMNS(array)-ROW(INDIRECT("1:"&COLUMNS(array))))

transpose3
Μαζί με την αναστροφή υπάρχουν εφτά μετασχηματισμοί μιας περιοχής. Περισσότερες από 40 συναρτήσεις αντιμετωπίζουν τις περιπτώσεις αυτές στο excel βιβλίο:

Index_and_Transpose

Αν σας ενδιαφέρει το θέμα κατεβάστε το.
Θα βρείτε επίσης παραδείγματα για μετασχηματισμό στηλών ή γραμμών και δύο δυναμικά παραδείγματα. Όλες οι συναρτήσεις του βιβλίου είναι Ctrl+Shift+Enter συναρτήσεις όπως η TRANSPOSE και είναι συμβατές με όλες τις εκδόσεις του excel. Το βιβλίο δεν περιέχει μακροεντολές.

This entry was posted in excel, Συναρτήσεις φύλλου and tagged , , , . Bookmark the permalink.