Συνάρτηση OFFSET του Excel - παραδείγματα τύπων και χρήσεις

  • Μοιραστείτε Αυτό
Michael Brown

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

Σε αυτό το σεμινάριο, θα ρίξουμε λίγο φως σε έναν από τους πιο μυστηριώδεις κατοίκους του σύμπαντος του Excel - τη συνάρτηση OFFSET.

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

Η συνάρτηση OFFSET μπορεί να είναι λίγο δύσκολη, οπότε ας δούμε πρώτα μια σύντομη τεχνική εξήγηση (θα βάλω τα δυνατά μου για να την κρατήσω απλή) και στη συνέχεια θα καλύψουμε μερικούς από τους πιο αποτελεσματικούς τρόπους χρήσης της OFFSET στο Excel.

    Συνάρτηση OFFSET του Excel - σύνταξη και βασικές χρήσεις

    Η συνάρτηση OFFSET στο Excel επιστρέφει ένα κελί ή μια περιοχή κελιών που απέχει ένα δεδομένο αριθμό γραμμών και στηλών από ένα δεδομένο κελί ή μια δεδομένη περιοχή.

    Η σύνταξη της συνάρτησης OFFSET έχει ως εξής:

    OFFSET(reference, rows, cols, [height], [width])

    Τα 3 πρώτα ορίσματα είναι υποχρεωτικά και τα 2 τελευταία είναι προαιρετικά. Όλα τα ορίσματα μπορούν να είναι αναφορές σε άλλα κελιά ή αποτελέσματα που επιστρέφονται από άλλους τύπους.

    Φαίνεται ότι η Microsoft έκανε μια καλή προσπάθεια να δώσει κάποιο νόημα στα ονόματα των παραμέτρων και δίνουν μια ιδέα για το τι πρέπει να καθορίσετε σε κάθε μία από αυτές.

    Απαιτούμενα επιχειρήματα:

    • Αναφορά - ένα κελί ή μια σειρά γειτονικών κελιών από τα οποία θα βασίσετε τη μετατόπιση. Μπορείτε να το θεωρήσετε ως το σημείο εκκίνησης.
    • Σειρές - Ο αριθμός των σειρών που θα μετακινηθούν από το σημείο εκκίνησης, προς τα πάνω ή προς τα κάτω. Εάν ο αριθμός rows είναι θετικός, ο τύπος μετακινείται κάτω από την αρχική αναφορά, σε περίπτωση αρνητικού αριθμού μετακινείται πάνω από την αρχική αναφορά.
    • Cols - Ο αριθμός των στηλών που θέλετε να μετακινηθεί ο τύπος από το σημείο εκκίνησης. Εκτός από τις γραμμές, οι στήλες μπορούν να είναι θετικές (προς τα δεξιά της αρχικής αναφοράς) ή αρνητικές (προς τα αριστερά της αρχικής αναφοράς).

    Προαιρετικά ορίσματα:

    • Ύψος - ο αριθμός των σειρών που θα επιστραφούν.
    • Πλάτος - ο αριθμός των στηλών που θα επιστραφούν.

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

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

    Και τώρα, ας παρουσιάσουμε τη θεωρία με ένα παράδειγμα του απλούστερου τύπου OFFSET.

    Παράδειγμα τύπου OFFSET του Excel

    Ακολουθεί ένα παράδειγμα ενός απλού τύπου OFFSET που επιστρέφει μια αναφορά κελιού με βάση ένα σημείο εκκίνησης, γραμμές και cols που καθορίζετε:

    =OFFSET(A1,3,1)

    Ο τύπος λέει στο Excel να πάρει το κελί A1 ως σημείο εκκίνησης (αναφορά), στη συνέχεια να μετακινηθεί 3 σειρές προς τα κάτω (όρισμα rows) και 1 στήλη προς τα αριστερά (όρισμα cols). Ως αποτέλεσμα, αυτός ο τύπος OFFSET επιστρέφει την τιμή στο κελί B4.

    Η εικόνα στα αριστερά δείχνει τη διαδρομή της συνάρτησης και το στιγμιότυπο οθόνης στα δεξιά δείχνει πώς μπορείτε να χρησιμοποιήσετε τον τύπο OFFSET σε πραγματικά δεδομένα. Η μόνη διαφορά μεταξύ των δύο τύπων είναι ότι ο δεύτερος (στα δεξιά) περιλαμβάνει μια αναφορά κελιού (E1) στο όρισμα rows. Επειδή όμως το κελί E1 περιέχει τον αριθμό 3, και ακριβώς ο ίδιος αριθμός εμφανίζεται στο όρισμα rows του πρώτου τύπου,και οι δύο θα επέστρεφαν ένα πανομοιότυπο αποτέλεσμα - την τιμή στο Β4.

    Τύποι OFFSET του Excel - πράγματα που πρέπει να θυμάστε

    • Η συνάρτηση OFFSET του Excel δεν μετακινεί στην πραγματικότητα κανένα κελί ή περιοχή, απλώς επιστρέφει μια αναφορά.
    • Όταν ένας τύπος OFFSET επιστρέφει μια περιοχή κελιών, τα ορίσματα rows και cols αναφέρονται πάντα στο πάνω αριστερό κελί της επιστρεφόμενης περιοχής.
    • Το όρισμα αναφοράς πρέπει να περιλαμβάνει ένα κελί ή μια σειρά γειτονικών κελιών, διαφορετικά ο τύπος σας θα επιστρέψει το σφάλμα #VALUE!.
    • Εάν οι καθορισμένες γραμμές ή/και τα cols μετακινήσουν μια αναφορά πάνω από την άκρη του λογιστικού φύλλου, ο τύπος OFFSET του Excel θα επιστρέψει το σφάλμα #REF!.
    • Η συνάρτηση OFFSET μπορεί να χρησιμοποιηθεί μέσα σε οποιαδήποτε άλλη συνάρτηση του Excel που δέχεται μια αναφορά κελιού/περιοχής στα ορίσματά της.

    Για παράδειγμα, αν προσπαθήσετε να χρησιμοποιήσετε τον τύπο =OFFSET(A1,3,1,1,3) από μόνη της, θα πετάξει ένα σφάλμα #VALUE!, αφού ένα εύρος προς επιστροφή (1 γραμμή, 3 στήλες) δεν χωράει σε ένα μόνο κελί. Ωστόσο, αν την ενσωματώσετε στη συνάρτηση SUM, όπως εδώ:

    =SUM(OFFSET(A1,3,1,1,3))

    Ο τύπος θα επιστρέψει το άθροισμα των τιμών σε μια περιοχή 1 γραμμής επί 3 στήλες που βρίσκεται 3 γραμμές κάτω και 1 στήλη δεξιά από το κελί A1, δηλαδή το σύνολο των τιμών στα κελιά B4:D4.

    Γιατί χρησιμοποιώ το OFFSET στο Excel;

    Τώρα που ξέρετε τι κάνει η συνάρτηση OFFSET, μπορεί να αναρωτιέστε: "Γιατί να ασχοληθείτε με τη χρήση της;" Γιατί να μην γράψετε απλώς μια απευθείας αναφορά όπως B4:D4;

    Ο τύπος OFFSET του Excel είναι πολύ καλός για:

    Δημιουργία δυναμικών περιοχών : Οι αναφορές όπως B1:C4 είναι στατικές, δηλαδή αναφέρονται πάντα σε ένα συγκεκριμένο εύρος. Αλλά ορισμένες εργασίες είναι ευκολότερο να εκτελούνται με δυναμικά εύρη. Αυτό συμβαίνει ιδιαίτερα όταν εργάζεστε με μεταβαλλόμενα δεδομένα, π.χ. έχετε ένα φύλλο εργασίας όπου προστίθεται μια νέα γραμμή ή στήλη κάθε εβδομάδα.

    Λήψη του εύρους από το αρχικό κελί Μερικές φορές, μπορεί να μην γνωρίζετε την πραγματική διεύθυνση της περιοχής, αν και γνωρίζετε ότι ξεκινάει από ένα συγκεκριμένο κελί. Σε τέτοια σενάρια, η χρήση OFFSET στο Excel είναι ο σωστός τρόπος.

    Πώς να χρησιμοποιήσετε τη συνάρτηση OFFSET στο Excel - παραδείγματα τύπων

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

    Λειτουργίες OFFSET και SUM του Excel

    Το παράδειγμα που συζητήσαμε πριν από λίγο δείχνει την απλούστερη χρήση των OFFSET & SUM. Τώρα, ας δούμε αυτές τις συναρτήσεις από άλλη οπτική γωνία και ας δούμε τι άλλο μπορούν να κάνουν.

    Παράδειγμα 1. Ένας δυναμικός τύπος SUM / OFFSET

    Όταν εργάζεστε με φύλλα εργασίας που ενημερώνονται συνεχώς, μπορεί να θέλετε να έχετε έναν τύπο SUM που να επιλέγει αυτόματα όλες τις προστιθέμενες γραμμές.

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

    Δεδομένου ότι το πρώτο κελί της περιοχής προς άθροιση θα καθοριστεί απευθείας στον τύπο SUM, πρέπει μόνο να αποφασίσετε για τις παραμέτρους της συνάρτησης OFFSET του Excel, η οποία θα πάρει το τελευταίο κελί της περιοχής:

    • Αναφορά - το κελί που περιέχει το σύνολο, το Β9 στην περίπτωσή μας.
    • Σειρές - το κελί ακριβώς πάνω από το σύνολο, το οποίο απαιτεί τον αρνητικό αριθμό -1.
    • Cols - είναι 0 επειδή δεν θέλετε να αλλάξετε τη στήλη.

    Οπότε, ακολουθεί το μοτίβο του τύπου SUM / OFFSET:

    =SUM( πρώτο κελί :(OFFSET( κύτταρο με συνολικό , -1,0)

    Τροποποιημένος για το παραπάνω παράδειγμα, ο τύπος έχει ως εξής:

    =SUM(B2:(OFFSET(B9, -1, 0)))

    Και όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης, λειτουργεί άψογα:

    Παράδειγμα 2. Τύπος OFFSET του Excel για το άθροισμα των τελευταίων Ν γραμμών

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

    Για την εργασία αυτή, θα χρησιμοποιήσουμε το Excel OFFSET σε συνδυασμό με τις συναρτήσεις SUM και COUNT / COUNTA:

    =SUM(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    ή

    =SUM(OFFSET(B1,COUNTA(B:B)-E1,0,E1,1))

    Οι ακόλουθες λεπτομέρειες μπορούν να σας βοηθήσουν να κατανοήσετε καλύτερα τους τύπους:

    • Αναφορά - την επικεφαλίδα της στήλης της οποίας τις τιμές θέλετε να αθροίσετε, το κελί B1 σε αυτό το παράδειγμα.
    • Σειρές - για να υπολογίσετε τον αριθμό των γραμμών που πρέπει να μετατοπιστούν, χρησιμοποιείτε είτε τη συνάρτηση COUNT είτε τη συνάρτηση COUNTA.

      Η COUNT επιστρέφει τον αριθμό των κελιών της στήλης B που περιέχουν αριθμούς, από τα οποία αφαιρείτε τους τελευταίους N μήνες (ο αριθμός είναι το κελί E1) και προσθέτετε 1.

      Αν η COUNTA είναι η συνάρτηση της επιλογής σας, δεν χρειάζεται να προσθέσετε 1, καθώς αυτή η συνάρτηση μετράει όλα τα μη κενά κελιά και μια γραμμή κεφαλίδας με τιμή κειμένου προσθέτει ένα επιπλέον κελί που χρειάζεται ο τύπος μας. Σημειώστε ότι αυτός ο τύπος θα λειτουργήσει σωστά μόνο σε μια παρόμοια δομή πίνακα - μια γραμμή κεφαλίδας ακολουθούμενη από γραμμές με αριθμούς. Για διαφορετικές διατάξεις πίνακα, ίσως χρειαστεί να κάνετε κάποιες προσαρμογές στο αρχείοΤύπος OFFSET/COUNTA.

    • Cols - ο αριθμός των στηλών που πρέπει να μετατοπιστούν είναι μηδέν (0).
    • Ύψος - ο αριθμός των σειρών που αθροίζονται καθορίζεται στο E1.
    • Πλάτος - 1 στήλη.

    Χρήση της λειτουργίας OFFSET με τις λειτουργίες AVERAGE, MAX, MIN

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

    =AVERAGE(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    =MAX(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    =MIN(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    Το βασικό πλεονέκτημα αυτών των τύπων έναντι των συνηθισμένων AVERAGE(B5:B8) ή MAX(B5:B8) είναι ότι δεν θα χρειάζεται να ενημερώνετε τον τύπο κάθε φορά που ενημερώνεται ο πίνακας πηγής σας. Όσες νέες γραμμές και αν προστεθούν ή διαγραφούν στο φύλλο εργασίας σας, οι τύποι OFFSET θα αναφέρονται πάντα στον καθορισμένο αριθμό των τελευταίων (κατώτερων) κελιών της στήλης.

    Τύπος OFFSET του Excel για τη δημιουργία ενός δυναμικού εύρους

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

    Ο τύπος OFFSET για ένα δυναμικό εύρος έχει ως εξής:

    =OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)

    Στο επίκεντρο αυτού του τύπου, χρησιμοποιείτε τη συνάρτηση COUNTA για να λάβετε τον αριθμό των μη κενών κελιών στη στήλη-στόχο. Αυτός ο αριθμός πηγαίνει στο όρισμα ύψους της OFFSET, δίνοντάς της οδηγίες για το πόσες γραμμές θα επιστρέψει.

    Πέρα από αυτό, είναι ένας κανονικός τύπος Offset, όπου:

    • Αναφορά είναι το σημείο εκκίνησης από το οποίο ξεκινάτε τη μετατόπιση, για παράδειγμα Sheet1!$A$1.
    • Σειρές και Cols είναι και οι δύο 0 επειδή δεν υπάρχουν στήλες ή γραμμές για αντιστάθμιση.
    • Πλάτος είναι 1 στήλη.

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

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

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

    • Δημιουργία αναπτυσσόμενων λιστών στο Excel - στατικές, δυναμικές, από άλλο βιβλίο εργασίας
    • Δημιουργία μιας εξαρτημένης αναπτυσσόμενης λίστας

    Excel OFFSET & amp; VLOOKUP

    Όπως όλοι γνωρίζουν, οι απλές κάθετες και οριζόντιες αναζητήσεις εκτελούνται με τη συνάρτηση VLOOKUP ή HLOOKUP, αντίστοιχα. Ωστόσο, αυτές οι συναρτήσεις έχουν πάρα πολλούς περιορισμούς και συχνά σκοντάφτουν σε πιο ισχυρούς και σύνθετους τύπους αναζήτησης. Έτσι, προκειμένου να εκτελέσετε πιο περίπλοκες αναζητήσεις στους πίνακες του Excel, πρέπει να αναζητήσετε εναλλακτικές λύσεις όπως οι INDEX, MATCH και OFFSET.

    Παράδειγμα 1. Τύπος OFFSET για ένα αριστερό Vlookup στο Excel

    Ένας από τους πιο διαβόητους περιορισμούς της συνάρτησης VLOOKUP είναι η αδυναμία αναζήτησης στα αριστερά της, πράγμα που σημαίνει ότι η VLOOKUP μπορεί να επιστρέψει μόνο μια τιμή στα δεξιά της στήλης αναζήτησης.

    Στον πίνακα αναζήτησης του δείγματός μας, υπάρχουν δύο στήλες - ονόματα μηνών (στήλη Α) και μπόνους (στήλη Β). Εάν θέλετε να λάβετε ένα μπόνους για έναν συγκεκριμένο μήνα, αυτός ο απλός τύπος VLOOKUP θα λειτουργήσει χωρίς πρόβλημα:

    =VLOOKUP(B1, A5:B11, 2, FALSE)

    Ωστόσο, μόλις αλλάξετε τις στήλες στον πίνακα αναζήτησης, αυτό θα οδηγήσει αμέσως στο σφάλμα #N/A:

    Για να χειριστείτε μια αριστερή αναζήτηση, χρειάζεστε μια πιο ευέλικτη συνάρτηση που δεν ενδιαφέρεται πραγματικά για το πού βρίσκεται η στήλη επιστροφής. Μια από τις πιθανές λύσεις είναι η χρήση ενός συνδυασμού των συναρτήσεων INDEX και MATCH. Μια άλλη προσέγγιση είναι η χρήση των OFFSET, MATCH και ROWS:

    OFFSET( lookup_table , MATCH( lookup_value , OFFSET( lookup_table , 0, lookup_col_offset , ROWS( lookup_table ), 1) ,0) -1, return_col_offset , 1, 1)

    Πού:

    • Lookup_col_offset - είναι ο αριθμός των στηλών που πρέπει να μετακινηθούν από το σημείο εκκίνησης στη στήλη αναζήτησης.
    • Return_col_offset - είναι ο αριθμός των στηλών που πρέπει να μετακινηθούν από το σημείο εκκίνησης στη στήλη επιστροφής.

    Στο παράδειγμά μας, ο πίνακας αναζήτησης είναι A5:B9 και η τιμή αναζήτησης βρίσκεται στο κελί B1, η μετατόπιση στήλης αναζήτησης είναι 1 (επειδή αναζητούμε την τιμή αναζήτησης στη δεύτερη στήλη (B), πρέπει να μετακινηθούμε 1 στήλη προς τα δεξιά από την αρχή του πίνακα), η μετατόπιση στήλης επιστροφής είναι 0 επειδή επιστρέφουμε τιμές από την πρώτη στήλη (A):

    =OFFSET(A5:B9, MATCH(B1, OFFSET(A5:B9, 0, 1, ROWS(A5:B9), 1) ,0) -1, 0, 1, 1, 1)

    Ξέρω ότι η φόρμουλα φαίνεται λίγο αδέξια, αλλά λειτουργεί :)

    Παράδειγμα 2. Πώς να κάνετε μια αναζήτηση άνω μέρους στο Excel

    Όπως συμβαίνει με την VLOOKUP που δεν μπορεί να κοιτάξει προς τα αριστερά, η οριζόντια αντίστοιχη συνάρτηση HLOOKUP δεν μπορεί να κοιτάξει προς τα πάνω για να επιστρέψει μια τιμή.

    Εάν πρέπει να σαρώσετε μια ανώτερη σειρά για αντιστοιχίες, ο τύπος OFFSET MATCH μπορεί να σας βοηθήσει και πάλι, αλλά αυτή τη φορά θα πρέπει να τον ενισχύσετε με τη λειτουργία COLUMNS, ως εξής:

    OFFSET( lookup_table , return_row_offset , MATCH( lookup_value , OFFSET( lookup_table , lookup_row_offset , 0, 1, ΣΤΉΛΕΣ( lookup_table )), 0) -1, 1, 1)

    Πού:

    • Lookup_row_offset - ο αριθμός των σειρών που πρέπει να μετακινηθούν από το σημείο εκκίνησης στη γραμμή αναζήτησης.
    • Return_row_offset - ο αριθμός των σειρών που πρέπει να μετακινηθούν από το σημείο εκκίνησης στη σειρά επιστροφής.

    Αν υποθέσουμε ότι ο πίνακας αναζήτησης είναι B4:F5 και η τιμή αναζήτησης βρίσκεται στο κελί B1, ο τύπος έχει ως εξής:

    =OFFSET(B4:F5, 0, MATCH(B1, OFFSET(B4:F5, 1, 0, 1, COLUMNS(B4:F5)), 0) -1, 1, 1)

    Στην περίπτωσή μας, η μετατόπιση γραμμής αναζήτησης είναι 1 επειδή το εύρος αναζήτησης είναι 1 γραμμή κάτω από το σημείο εκκίνησης, η μετατόπιση γραμμής επιστροφής είναι 0 επειδή επιστρέφουμε αντιστοιχίες από την πρώτη γραμμή του πίνακα.

    Παράδειγμα 3. Αμφίδρομη αναζήτηση (με τιμές στήλης και γραμμής)

    Η αμφίδρομη αναζήτηση επιστρέφει μια τιμή με βάση τις αντιστοιχίες τόσο στις γραμμές όσο και στις στήλες. Και μπορείτε να χρησιμοποιήσετε τον ακόλουθο τύπο διπλής αναζήτησης συστοιχίας για να βρείτε μια τιμή στο σημείο τομής μιας συγκεκριμένης γραμμής και στήλης:

    =OFFSET( πίνακας αναζήτησης , MATCH( τιμή αναζήτησης γραμμής , OFFSET( πίνακας αναζήτησης , 0, 0, ROWS( πίνακας αναζήτησης ), 1), 0) -1, MATCH( τιμή αναζήτησης στήλης , OFFSET( πίνακας αναζήτησης , 0, 0, 1, ΣΤΉΛΕΣ( πίνακας αναζήτησης )), 0) -1)

    Δεδομένου ότι:

    • Ο πίνακας αναζήτησης είναι A5:G9
    • Η τιμή που πρέπει να ταιριάζει στις γραμμές είναι στο B2
    • Η τιμή που πρέπει να ταιριάζει στις στήλες βρίσκεται στο B1

    Παίρνετε τον ακόλουθο τύπο δισδιάστατης αναζήτησης:

    =OFFSET(A5:G9, MATCH(B2, OFFSET(A5:G9, 0, 0, ROWS(A5:G9), 1), 0)-1, MATCH(B1, OFFSET(A5:G9, 0, 0, 1, COLUMNS(A5:G9)), 0) -1)

    Δεν είναι και το πιο εύκολο πράγμα να το θυμάσαι, έτσι δεν είναι; Επιπλέον, πρόκειται για έναν τύπο συστοιχίας, οπότε μην ξεχάσετε να πατήσετε Ctrl + Shift + Enter για να τον εισαγάγετε σωστά.

    Φυσικά, αυτός ο μακροσκελής τύπος OFFSET δεν είναι ο μόνος δυνατός τρόπος για να κάνετε μια διπλή αναζήτηση στο Excel. Μπορείτε να έχετε το ίδιο αποτέλεσμα χρησιμοποιώντας τις συναρτήσεις VLOOKUP & MATCH, SUMPRODUCT ή INDEX & MATCH. Υπάρχει ακόμη και ένας τρόπος χωρίς τύπους - να χρησιμοποιήσετε ονομαστικές περιοχές και τον τελεστή διασταύρωσης (κενό). Το ακόλουθο σεμινάριο εξηγεί όλες τις εναλλακτικές λύσεις με κάθε λεπτομέρεια: Πώς να κάνετε διπλή αναζήτηση;αναζήτηση στο Excel.

    Λειτουργία OFFSET - περιορισμοί και εναλλακτικές λύσεις

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

    Οι πιο κρίσιμοι περιορισμοί της συνάρτησης OFFSET του Excel είναι οι εξής:

    • Όπως και άλλες πτητικές συναρτήσεις, η OFFSET είναι μια λειτουργία που απαιτεί πόρους Κάθε φορά που υπάρχει οποιαδήποτε αλλαγή στα δεδομένα πηγής, οι τύποι OFFSET υπολογίζονται εκ νέου, κρατώντας το Excel απασχολημένο για λίγο περισσότερο. Αυτό δεν αποτελεί πρόβλημα για έναν μόνο τύπο σε ένα μικρό φύλλο εργασίας. Αλλά αν υπάρχουν δεκάδες ή εκατοντάδες τύποι σε ένα βιβλίο εργασίας, το Microsoft Excel μπορεί να χρειαστεί αρκετή ώρα για να υπολογίσει εκ νέου.
    • Οι τύποι OFFSET του Excel είναι δύσκολο να αναθεωρηθεί Επειδή οι αναφορές που επιστρέφονται από τη συνάρτηση OFFSET είναι δυναμικές, οι μεγάλοι τύποι (ειδικά με φωλιασμένες OFFSET) μπορεί να είναι αρκετά δύσκολοι στην αποσφαλμάτωση.

    Εναλλακτικές λύσεις για τη χρήση του OFFSET στο Excel

    Όπως συμβαίνει συχνά στο Excel, το ίδιο αποτέλεσμα μπορεί να επιτευχθεί με πολλούς διαφορετικούς τρόπους. Έτσι, ακολουθούν τρεις κομψές εναλλακτικές λύσεις για το OFFSET.

    1. Πίνακες του Excel

      Από το Excel 2002, έχουμε ένα πραγματικά θαυμάσιο χαρακτηριστικό - πλήρως εξοπλισμένους πίνακες του Excel, σε αντίθεση με τις συνηθισμένες περιοχές. Για να δημιουργήσετε έναν πίνακα από δομημένα δεδομένα, απλά κάνετε κλικ στο κουμπί Εισαγωγή> Πίνακας στο Αρχική σελίδα ή πατήστε Ctrl + T .

      Εισάγοντας έναν τύπο σε ένα κελί ενός πίνακα του Excel, μπορείτε να δημιουργήσετε μια λεγόμενη "υπολογιζόμενη στήλη" που αντιγράφει αυτόματα τον τύπο σε όλα τα άλλα κελιά της στήλης και προσαρμόζει τον τύπο για κάθε γραμμή του πίνακα.

      Επιπλέον, οποιοσδήποτε τύπος που αναφέρεται στα δεδομένα ενός πίνακα προσαρμόζεται αυτόματα ώστε να συμπεριλάβει τυχόν νέες γραμμές που προσθέτετε στον πίνακα ή να αποκλείσει τις γραμμές που διαγράφετε. Τεχνικά, οι τύποι αυτοί λειτουργούν σε στήλες ή γραμμές του πίνακα, οι οποίες είναι δυναμικά εύρη Κάθε πίνακας σε ένα βιβλίο εργασίας έχει ένα μοναδικό όνομα (τα προεπιλεγμένα είναι Table1, Table2, κ.λπ.) και μπορείτε να μετονομάσετε τον πίνακα σας μέσω της εντολής Σχεδιασμός tab>, Ιδιότητες ομάδα>, Όνομα πίνακα πλαίσιο κειμένου.

      Το ακόλουθο στιγμιότυπο οθόνης δείχνει τον τύπο SUM που αναφέρεται στην Μπόνους στήλη του πίνακα3. Προσέξτε ότι ο τύπος περιλαμβάνει το όνομα στήλης αντί για ένα εύρος κελιών.

    2. Συνάρτηση INDEX του Excel

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

    3. Συνάρτηση INDIRECT του Excel

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

    Θυμάστε την ερώτηση που τέθηκε στην αρχή αυτού του σεμιναρίου - Τι είναι το OFFSET στο Excel; Ελπίζω τώρα να ξέρετε την απάντηση : ) Αν θέλετε περισσότερη πρακτική εμπειρία, μπορείτε να κατεβάσετε το βιβλίο ασκήσεων (δείτε παρακάτω) που περιέχει όλους τους τύπους που συζητήθηκαν σε αυτή τη σελίδα και να τους επεξεργαστείτε για βαθύτερη κατανόηση. Σας ευχαριστώ για την ανάγνωση!

    Βιβλίο ασκήσεων για κατέβασμα

    Παραδείγματα τύπου OFFSET (.xlsx αρχείο)

    Ο Michael Brown είναι ένας αφοσιωμένος λάτρης της τεχνολογίας με πάθος για την απλοποίηση πολύπλοκων διαδικασιών χρησιμοποιώντας εργαλεία λογισμικού. Με περισσότερο από μια δεκαετία εμπειρίας στον κλάδο της τεχνολογίας, έχει βελτιώσει τις δεξιότητές του στο Microsoft Excel και το Outlook, καθώς και στα Φύλλα Google και στα Έγγραφα. Το blog του Michael είναι αφιερωμένο στο να μοιράζεται τη γνώση και την τεχνογνωσία του με άλλους, παρέχοντας εύκολες συμβουλές και σεμινάρια για τη βελτίωση της παραγωγικότητας και της αποτελεσματικότητας. Είτε είστε έμπειρος επαγγελματίας είτε αρχάριος, το ιστολόγιο του Michael προσφέρει πολύτιμες πληροφορίες και πρακτικές συμβουλές για να αξιοποιήσετε στο έπακρο αυτά τα βασικά εργαλεία λογισμικού.