Πίνακας περιεχομένων
Αυτό το σεμινάριο INDIRECT του Excel εξηγεί τη σύνταξη της συνάρτησης, τις βασικές χρήσεις της και παρέχει μια σειρά παραδειγμάτων τύπων που δείχνουν πώς να χρησιμοποιείτε τη INDIRECT στο Excel.
Υπάρχουν πάρα πολλές συναρτήσεις στο Microsoft Excel, μερικές από τις οποίες είναι εύκολα κατανοητές, άλλες απαιτούν μεγάλη εκμάθηση και οι πρώτες χρησιμοποιούνται συχνότερα από τις δεύτερες. Και όμως, η INDIRECT του Excel είναι μία από αυτές. Αυτή η συνάρτηση του Excel δεν εκτελεί υπολογισμούς, ούτε αξιολογεί συνθήκες ή λογικούς ελέγχους.
Λοιπόν, τι είναι η συνάρτηση INDIRECT στο Excel και για ποιο λόγο τη χρησιμοποιώ; Αυτή είναι μια πολύ καλή ερώτηση και ελπίζω ότι θα λάβετε μια ολοκληρωμένη απάντηση σε λίγα λεπτά όταν ολοκληρώσετε την ανάγνωση αυτού του σεμιναρίου.
Συνάρτηση INDIRECT του Excel - σύνταξη και βασικές χρήσεις
Όπως υποδηλώνει και το όνομά της, η INDIRECT του Excel χρησιμοποιείται για την έμμεση αναφορά σε κελιά, περιοχές, άλλα φύλλα ή βιβλία εργασίας. Με άλλα λόγια, η λειτουργία INDIRECT σας επιτρέπει να δημιουργήσετε μια δυναμική αναφορά σε κελιά ή περιοχές αντί να τις κωδικοποιήσετε σκληρά. Ως αποτέλεσμα, μπορείτε να αλλάξετε μια αναφορά μέσα σε έναν τύπο χωρίς να αλλάξετε τον ίδιο τον τύπο. Επιπλέον, αυτές οι έμμεσες αναφορές δεν θα αλλάξουν όταν κάποιες νέες γραμμές ή στήλεςεισάγονται στο φύλλο εργασίας ή όταν διαγράφετε τυχόν υπάρχοντα.
Όλα αυτά μπορεί να είναι πιο εύκολα κατανοητά από ένα παράδειγμα. Ωστόσο, για να μπορέσετε να γράψετε έναν τύπο, ακόμη και τον πιο απλό, πρέπει να γνωρίζετε τα ορίσματα της συνάρτησης, σωστά; Ας ρίξουμε λοιπόν πρώτα μια γρήγορη ματιά στη σύνταξη INDIRECT του Excel.
Σύνταξη της συνάρτησης INDIRECT
Η συνάρτηση INDIRECT στο Excel επιστρέφει μια αναφορά κελιού από μια συμβολοσειρά κειμένου. Έχει δύο ορίσματα, το πρώτο είναι υποχρεωτικό και το δεύτερο προαιρετικό:
INDIRECT(ref_text, [a1])ref_text - είναι μια αναφορά σε κελί, ή μια αναφορά σε κελί με τη μορφή συμβολοσειράς κειμένου, ή μια ονομαστική περιοχή.
a1 - είναι μια λογική τιμή που καθορίζει τον τύπο της αναφοράς που περιέχεται στο όρισμα ref_text:
- Εάν TRUE ή παραλειφθεί, το ref_text ερμηνεύεται ως αναφορά κελιού τύπου A1.
- Εάν είναι FALSE, το ref_text αντιμετωπίζεται ως αναφορά R1C1.
Ενώ ο τύπος αναφοράς R1C1 μπορεί να είναι χρήσιμος σε ορισμένες περιπτώσεις, πιθανότατα θα θέλετε να χρησιμοποιείτε τις περισσότερες φορές τις γνωστές αναφορές A1. Ούτως ή άλλως, σχεδόν όλοι οι τύποι INDIRECT σε αυτό το σεμινάριο θα χρησιμοποιούν αναφορές A1, οπότε θα παραλείψουμε το δεύτερο όρισμα.
Βασική χρήση της συνάρτησης INDIRECT
Για να κατανοήσουμε την ουσία της συνάρτησης, ας γράψουμε έναν απλό τύπο που δείχνει πώς χρησιμοποιείτε την INDIRECT στο Excel.
Ας υποθέσουμε ότι έχετε τον αριθμό 3 στο κελί A1 και το κείμενο A1 στο κελί C1. Τώρα, βάλτε τον τύπο =INDIRECT(C1)
σε οποιοδήποτε άλλο κελί και δείτε τι θα συμβεί:
- Η συνάρτηση INDIRECT αναφέρεται στην τιμή στο κελί C1, η οποία είναι το A1.
- Η συνάρτηση δρομολογείται στο κελί Α1 όπου επιλέγει την τιμή που θα επιστρέψει, η οποία είναι ο αριθμός 3.
Έτσι, αυτό που κάνει η συνάρτηση INDIRECT σε αυτό το παράδειγμα είναι μετατροπή μιας συμβολοσειράς κειμένου σε αναφορά κελιού .
Αν νομίζετε ότι αυτό εξακολουθεί να έχει πολύ λίγο πρακτικό νόημα, κάντε υπομονή και θα σας δείξω μερικούς ακόμη τύπους που αποκαλύπτουν την πραγματική δύναμη της συνάρτησης INDIRECT του Excel.
Πώς να χρησιμοποιήσετε το INDIRECT στο Excel - παραδείγματα τύπων
Όπως φαίνεται στο παραπάνω παράδειγμα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση INDIRECT του Excel για να τοποθετήσετε τη διεύθυνση ενός κελιού σε ένα άλλο ως μια συνηθισμένη συμβολοσειρά κειμένου και να λάβετε την τιμή του 1ου κελιού με αναφορά στο 2ο. Ωστόσο, αυτό το τετριμμένο παράδειγμα δεν είναι παρά μια ένδειξη των δυνατοτήτων INDIRECT.
Όταν εργάζεστε με πραγματικά δεδομένα, η συνάρτηση INDIRECT μπορεί να μετατρέψει οποιαδήποτε συμβολοσειρά κειμένου σε αναφορά, συμπεριλαμβανομένων πολύ σύνθετων συμβολοσειρών που κατασκευάζετε χρησιμοποιώντας τις τιμές άλλων κελιών και τα αποτελέσματα που επιστρέφονται από άλλους τύπους του Excel. Αλλά ας μην βάλουμε το κάρο μπροστά από το άλογο και ας εξετάσουμε διάφορους τύπους έμμεσης αναφοράς του Excel, έναν κάθε φορά.
Δημιουργία έμμεσων αναφορών από τιμές κελιών
Όπως θυμάστε, η συνάρτηση INDIRECT του Excel επιτρέπει τα στυλ αναφοράς A1 και R1C1. Συνήθως, δεν μπορείτε να χρησιμοποιήσετε και τα δύο στυλ σε ένα φύλλο ταυτόχρονα, μπορείτε μόνο να αλλάξετε μεταξύ των δύο τύπων αναφοράς μέσω Αρχείο> Επιλογές> Τύποι >, Πλαίσιο ελέγχου R1C1 Αυτός είναι ο λόγος για τον οποίο οι χρήστες του Excel σπάνια εξετάζουν τη χρήση του R1C1 ως εναλλακτική προσέγγιση αναφοράς.
Σε έναν τύπο INDIRECT, μπορείτε να χρησιμοποιήσετε οποιονδήποτε τύπο αναφοράς στο ίδιο φύλλο, αν το επιθυμείτε. Πριν προχωρήσουμε περαιτέρω, ίσως θέλετε να γνωρίζετε τη διαφορά μεταξύ των τύπων αναφοράς A1 και R1C1.
Στυλ A1 είναι ο συνήθης τύπος αναφοράς στο Excel που αναφέρεται σε μια στήλη ακολουθούμενη από έναν αριθμό γραμμής. Για παράδειγμα, το B2 αναφέρεται στο κελί στο σημείο τομής της στήλης B και της γραμμής 2.
Στυλ R1C1 είναι ο αντίθετος τύπος αναφοράς - γραμμές ακολουθούμενες από στήλες, κάτι που χρειάζεται λίγο χρόνο για να το συνηθίσετε : ) Για παράδειγμα, το R4C1 αναφέρεται στο κελί A4 που βρίσκεται στη γραμμή 4, στήλη 1 σε ένα φύλλο. Αν μετά το γράμμα δεν ακολουθεί αριθμός, τότε αναφέρεστε στην ίδια γραμμή ή στήλη.
Και τώρα, ας δούμε πώς η συνάρτηση INDIRECT χειρίζεται τις αναφορές A1 και R1C1:
Όπως βλέπετε στο παραπάνω στιγμιότυπο, τρεις διαφορετικοί έμμεσοι τύποι επιστρέφουν το ίδιο αποτέλεσμα. Έχετε ήδη καταλάβει το γιατί; Σίγουρα έχετε καταλάβει : )
- Τύπος στο κελί D1:
=INDIRECT(C1)
Ο τύπος αναφέρεται στο κελί C1, παίρνει την τιμή του - συμβολοσειρά κειμένου A2 , το μετατρέπει σε αναφορά κελιού, πηγαίνει στο κελί A2 και επιστρέφει την τιμή του, η οποία είναι 222.
- Τύπος στο κελί D3:
=INDIRECT(C3,FALSE)
Το FALSE στο 2ο όρισμα υποδηλώνει ότι η τιμή που αναφέρεται (C3) πρέπει να αντιμετωπιστεί όπως μια αναφορά σε κελί R1C1, δηλαδή ένας αριθμός γραμμής ακολουθούμενος από έναν αριθμό στήλης. Επομένως, ο τύπος INDIRECT ερμηνεύει την τιμή στο κελί C3 (R2C1) ως αναφορά στο κελί στη συμβολή της γραμμής 2 και της στήλης 1, δηλαδή στο κελί A2.
Δημιουργία έμμεσων αναφορών από τιμές κελιών και κείμενο
Ομοίως με τον τρόπο που δημιουργήσαμε αναφορές από τιμές κελιών, μπορείτε να συνδυάσετε μια συμβολοσειρά κειμένου και ένα αναφορά κελιού μέσα στον τύπο INDIRECT, δεμένα μαζί με τον τελεστή συνένωσης (&).
Στο ακόλουθο παράδειγμα, ο τύπος: =INDIRECT("B"&C2) επιστρέφει μια τιμή από το κελί B2 με βάση την ακόλουθη λογική αλυσίδα:
Η συνάρτηση INDIRECT συνδέει τα στοιχεία στο όρισμα ref_text - text B και την τιμή στο κελί C2 ->- η τιμή στο κελί C2 είναι ο αριθμός 2, ο οποίος κάνει αναφορά στο κελί B2 ->- ο τύπος πηγαίνει στο κελί B2 και επιστρέφει την τιμή του, η οποία είναι ο αριθμός 10.
Χρήση της συνάρτησης INDIRECT με ονομαστικές περιοχές
Εκτός από την πραγματοποίηση αναφορών από τιμές κελιών και κειμένου, μπορείτε να χρησιμοποιήσετε τη συνάρτηση INDIRECT του Excel για να αναφερθείτε σε ονομαστικές σειρές .
Ας υποθέσουμε ότι έχετε τις ακόλουθες ονομαστικές περιοχές στο φύλλο σας:
- Μήλα - B2:B6
- Μπανάνες - C2:C6
- Λεμόνια - D2:D6
Για να δημιουργήσετε μια δυναμική αναφορά του Excel σε οποιαδήποτε από τις παραπάνω ονομαστικές περιοχές, απλώς πληκτρολογήστε το όνομά της σε κάποιο κελί, π.χ. G1, και αναφερθείτε σε αυτό το κελί από έναν έμμεσο τύπο =INDIRECT(G1)
.
Και τώρα, μπορείτε να προχωρήσετε ένα βήμα παραπέρα και να ενσωματώσετε αυτόν τον τύπο INDIRECT σε άλλες συναρτήσεις του Excel για να υπολογίσετε το άθροισμα και τον μέσο όρο των τιμών σε ένα συγκεκριμένο εύρος τιμών ή να βρείτε τη μέγιστη / ελάχιστη τιμή εντός της περιοχής:
=ΆΘΡΟΙΣΜΑ(INDIRECT(G1))
=ΜΈΣΟΣ ΌΡΟΣ(INDIRECT(G1))
=MAX(INDIRECT(G1))
=MIN(INDIRECT(G1))
Τώρα που έχετε τη γενική ιδέα για το πώς να χρησιμοποιείτε τη συνάρτηση INDIRECT στο Excel, μπορούμε να πειραματιστούμε με πιο ισχυρούς τύπους.
Τύπος INDIRECT για δυναμική αναφορά σε άλλο φύλλο εργασίας
Η χρησιμότητα της συνάρτησης INDIRECT του Excel δεν περιορίζεται στη δημιουργία "δυναμικών" αναφορών κελιών. Μπορείτε επίσης να τη χρησιμοποιήσετε για να αναφερθείτε σε κελιά σε άλλα φύλλα εργασίας "εν κινήσει", και δείτε πώς.
Ας υποθέσουμε ότι έχετε κάποια σημαντικά δεδομένα στο φύλλο 1 και θέλετε να τραβήξετε αυτά τα δεδομένα στο φύλλο 2. Το ακόλουθο στιγμιότυπο οθόνης δείχνει πώς ένας έμμεσος τύπος του Excel μπορεί να χειριστεί αυτή την εργασία:
Ας διαχωρίσουμε τον τύπο που βλέπετε στο στιγμιότυπο οθόνης για να καταλάβουμε.
Όπως γνωρίζετε, ο συνήθης τρόπος αναφοράς σε ένα άλλο φύλλο στο Excel είναι να γράψετε το όνομα του φύλλου ακολουθούμενο από το θαυμαστικό και μια αναφορά κελιού/περιοχής, όπως SheetName!Range Δεδομένου ότι το όνομα ενός φύλλου συχνά περιέχει κενό(-α), θα ήταν καλύτερα να το κλείσετε (το όνομα, όχι το κενό : ) σε απλά εισαγωγικά για να αποφύγετε ένα σφάλμα, για παράδειγμα 'Το φύλλο μου!'$A$1 .
Και τώρα, το μόνο που έχετε να κάνετε είναι να εισαγάγετε το όνομα του φύλλου σε ένα κελί, τη διεύθυνση του κελιού σε ένα άλλο, να τα ενώσετε σε μια συμβολοσειρά κειμένου και να τροφοδοτήσετε αυτή τη συμβολοσειρά στη συνάρτηση INDIRECT. Θυμηθείτε ότι σε μια συμβολοσειρά κειμένου, πρέπει να περικλείετε κάθε στοιχείο εκτός από τη διεύθυνση κελιού ή τον αριθμό σε διπλά εισαγωγικά και να συνδέετε όλα τα στοιχεία μεταξύ τους χρησιμοποιώντας τον τελεστή συνένωσης (&).
Λαμβάνοντας υπόψη τα παραπάνω, έχουμε το ακόλουθο μοτίβο:
INDIRECT("'" &, Όνομα φύλλου & "'!" &, Κελί για να αντλήσετε δεδομένα από )Επιστρέφοντας στο παράδειγμά μας, βάζετε το όνομα του φύλλου στο κελί Α1 και πληκτρολογείτε τις διευθύνσεις των κελιών στη στήλη Β, όπως φαίνεται στο παραπάνω στιγμιότυπο. Ως αποτέλεσμα, έχετε τον ακόλουθο τύπο:
INDIRECT("'" & $A$1 & "'!" & B1)
Επίσης, προσέξτε ότι αν αντιγράφετε τον τύπο σε πολλαπλά κελιά, πρέπει να κλειδώσετε την αναφορά στο όνομα του φύλλου χρησιμοποιώντας τις απόλυτες αναφορές κελιών, όπως $A$1.
Σημειώσεις
- Εάν ένα από τα κελιά που περιέχουν το όνομα και τη διεύθυνση του 2ου φύλλου (A1 και B1 στον παραπάνω τύπο) είναι κενό, ο έμμεσος τύπος σας θα επιστρέψει ένα σφάλμα. Για να το αποφύγετε αυτό, μπορείτε να τυλίξετε τη συνάρτηση INDIRECT στη συνάρτηση IF:
IF(OR($A$1="",B1=""), "", INDIRECT("'" &? $A$1 & "'!" & B1))
- Για να λειτουργήσει σωστά ο τύπος INDIRECT που παραπέμπει σε άλλο φύλλο, το φύλλο στο οποίο παραπέμπει θα πρέπει να είναι ανοιχτό, διαφορετικά ο τύπος θα επιστρέψει ένα σφάλμα #REF. Για να αποφύγετε το σφάλμα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση IFERROR, η οποία θα εμφανίσει μια κενή συμβολοσειρά, όποιο σφάλμα και αν προκύψει:
IFERROR(INDIRECT("'" & $A$1 & "'!" &B1), "")
Δημιουργία μιας δυναμικής αναφοράς του Excel σε ένα άλλο βιβλίο εργασίας
Ο έμμεσος τύπος που παραπέμπει σε ένα διαφορετικό βιβλίο εργασίας του Excel βασίζεται στην ίδια προσέγγιση με την αναφορά σε ένα άλλο φύλλο εργασίας. Απλά πρέπει να καθορίσετε το όνομα του βιβλίου εργασίας εκτός από το όνομα του φύλλου και τη διεύθυνση κελιού.
Για να διευκολύνουμε τα πράγματα, ας ξεκινήσουμε κάνοντας μια αναφορά σε ένα άλλο βιβλίο με τον συνηθισμένο τρόπο (οι απόστροφοι προστίθενται σε περίπτωση που τα ονόματα των βιβλίων ή/και των φύλλων σας περιέχουν κενά):
'[Book_name.xlsx]Sheet_name'!Range
Υποθέτοντας ότι το όνομα του βιβλίου βρίσκεται στο κελί A2, το όνομα του φύλλου στο B2 και η διεύθυνση του κελιού στο C2, προκύπτει ο ακόλουθος τύπος:
=INDIRECT("'[" &? $A$2 & "]" & $B$2 & "'!" & C2)
Δεδομένου ότι δεν θέλετε τα κελιά που περιέχουν τα ονόματα του βιβλίου και του φύλλου να αλλάζουν κατά την αντιγραφή του τύπου σε άλλα κελιά, τα κλειδώνετε χρησιμοποιώντας απόλυτες αναφορές κελιών, $A$2 και $B$2, αντίστοιχα.
Και τώρα, μπορείτε εύκολα να γράψετε τη δική σας δυναμική αναφορά σε ένα άλλο βιβλίο εργασίας του Excel χρησιμοποιώντας το ακόλουθο μοτίβο:
=INDIRECT("'[" &, Όνομα βιβλίου & "]" &, Όνομα φύλλου & "'!" &, Διεύθυνση κυττάρου )Σημείωση. Το βιβλίο εργασίας στο οποίο αναφέρεται ο τύπος σας θα πρέπει να είναι πάντα ανοιχτό, διαφορετικά η συνάρτηση INDIRECT θα εμφανίσει σφάλμα #REF. Ως συνήθως, η συνάρτηση IFERROR μπορεί να σας βοηθήσει να το αποφύγετε:
=IFERROR(INDIRECT("'[" &- A2 &- "]" &- $A$1 &- "'!" &- B1), "")
Χρήση της συνάρτησης INDIRECT του Excel για να κλειδώσετε μια αναφορά κελιού
Κανονικά, το Microsoft Excel αλλάζει τις αναφορές κελιών όταν εισάγετε νέες ή διαγράφετε υπάρχουσες γραμμές ή στήλες σε ένα φύλλο. Για να αποτρέψετε αυτό το ενδεχόμενο, μπορείτε να χρησιμοποιήσετε τη συνάρτηση INDIRECT για να εργαστείτε με αναφορές κελιών που θα πρέπει να παραμείνουν ανέπαφες σε κάθε περίπτωση.
Για να καταλάβετε τη διαφορά, κάντε τα εξής:
- Εισάγετε οποιαδήποτε τιμή σε οποιοδήποτε κελί, π.χ. τον αριθμό 20 στο κελί Α1.
- Αναφερθείτε στο Α1 από δύο άλλα κελιά με διαφορετικούς τρόπους:
=A1
και=INDIRECT("A1")
- Εισάγετε μια νέα γραμμή πάνω από τη γραμμή 1.
Βλέπετε τι συμβαίνει; Το κύτταρο με το ίση με Ο λογικός τελεστής εξακολουθεί να επιστρέφει 20, επειδή ο τύπος του άλλαξε αυτόματα σε =A2. Το κελί με τον τύπο INDIRECT επιστρέφει τώρα 0, επειδή ο τύπος δεν άλλαξε όταν εισήχθη μια νέα γραμμή και εξακολουθεί να αναφέρεται στο κελί A1, το οποίο είναι επί του παρόντος κενό:
Μετά από αυτή την επίδειξη, μπορεί να έχετε την εντύπωση ότι η λειτουργία INDIRECT είναι περισσότερο ενοχλητική παρά βοηθητική. Εντάξει, ας το δοκιμάσουμε με άλλο τρόπο.
Ας υποθέσουμε ότι θέλετε να αθροίσετε τις τιμές στα κελιά A2:A5 και μπορείτε εύκολα να το κάνετε αυτό χρησιμοποιώντας τη συνάρτηση SUM:
=SUM(A2:A5)
Ωστόσο, θέλετε ο τύπος να παραμείνει αμετάβλητος, ανεξάρτητα από το πόσες γραμμές διαγράφονται ή εισάγονται. Η πιο προφανής λύση - η χρήση απόλυτων αναφορών - δεν θα βοηθήσει. Για να βεβαιωθείτε, εισαγάγετε τον τύπο =SUM($A$2:$A$5)
σε κάποιο κελί, εισάγετε μια νέα γραμμή, ας πούμε στη γραμμή 3, και... βρείτε τον τύπο που μετατράπηκε σε =SUM($A$2:$A$6)
.
Φυσικά, αυτή η ευγενική παραχώρηση του Microsoft Excel θα λειτουργήσει μια χαρά στις περισσότερες περιπτώσεις. Ωστόσο, μπορεί να υπάρχουν σενάρια που δεν θέλετε ο τύπος να αλλάζει αυτόματα. Η λύση είναι να χρησιμοποιήσετε τη συνάρτηση INDIRECT, όπως αυτή:
=SUM(INDIRECT("A2:A5"))
Δεδομένου ότι το Excel αντιλαμβάνεται το "A1:A5" ως μια απλή συμβολοσειρά κειμένου και όχι ως αναφορά περιοχής, δεν θα κάνει καμία αλλαγή όταν εισάγετε ή διαγράφετε μια γραμμή(ες).
Χρήση INDIRECT με άλλες συναρτήσεις του Excel
Εκτός από την SUM, η INDIRECT χρησιμοποιείται συχνά με άλλες συναρτήσεις του Excel, όπως οι ROW, COLUMN, ADDRESS, VLOOKUP, SUMIF, για να αναφέρουμε μερικές.
Παράδειγμα 1. Λειτουργίες INDIRECT και ROW
Αρκετά συχνά, η συνάρτηση ROW χρησιμοποιείται στο Excel για να επιστρέψει έναν πίνακα τιμών. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τον ακόλουθο τύπο πίνακα (θυμηθείτε ότι απαιτεί το πάτημα των πλήκτρων Ctrl + Shift + Enter ) για να επιστρέψετε το μέσο όρο των 3 μικρότερων αριθμών στην περιοχή A1:A10:
=AVERAGE(SMALL(A1:A10,ROW(1:3)))
Ωστόσο, αν εισαγάγετε μια νέα γραμμή στο φύλλο εργασίας σας, οπουδήποτε μεταξύ των γραμμών 1 και 3, το εύρος στη συνάρτηση ROW θα αλλάξει σε ROW(1:4) και ο τύπος θα επιστρέψει τον μέσο όρο των 4 μικρότερων αριθμών αντί για 3.
Για να αποτρέψετε αυτό το φαινόμενο, φωλιάστε INDIRECT στη συνάρτηση ROW και ο τύπος του πίνακα σας θα παραμένει πάντα σωστός, ανεξάρτητα από το πόσες γραμμές εισάγονται ή διαγράφονται:
=AVERAGE(SMALL(A1:A10,ROW(INDIRECT("1:3"))))
Ακολουθούν μερικά ακόμη παραδείγματα χρήσης των INDIRECT και ROW σε συνδυασμό με τη συνάρτηση LARGE: Πώς να αθροίσετε τους N μεγαλύτερους αριθμούς σε μια περιοχή.
Παράδειγμα 2. Λειτουργίες INDIRECT και ADDRESS
Μπορείτε να χρησιμοποιήσετε το Excel INDIRECT μαζί με τη συνάρτηση ADDRESS για να λάβετε μια τιμή σε ένα συγκεκριμένο κελί εν κινήσει.
Όπως ίσως θυμάστε, η συνάρτηση ADDRESS χρησιμοποιείται στο Excel για να λάβετε μια διεύθυνση κελιού με τους αριθμούς γραμμής και στήλης. Για παράδειγμα, ο τύπος =ADDRESS(1,3)
επιστρέφει τη συμβολοσειρά $C$1, αφού το C1 είναι το κελί στο σημείο τομής της 1ης γραμμής και της 3ης στήλης.
Για να δημιουργήσετε μια έμμεση αναφορά κελιού, απλά ενσωματώνετε τη συνάρτηση ADDRESS σε έναν τύπο INDIRECT, όπως παρακάτω:
=INDIRECT(ADDRESS(1,3))
Φυσικά, αυτός ο τετριμμένος τύπος δείχνει μόνο την τεχνική. Και εδώ είναι μερικά παραδείγματα που μπορεί να αποδειχθούν πραγματικά χρήσιμα:
- Τύπος INDIRECT ADDRESS - πώς να αλλάζετε γραμμές και στήλες.
- VLOOKUP και INDIRECT - πώς να αντλείτε δυναμικά δεδομένα από διαφορετικά φύλλα.
- INDIRECT με INDEX / MATCH - πώς να τελειοποιήσετε έναν τύπο VLOOKUP με ευαισθησία στην πεζότητα.
- Excel INDIRECT και COUNTIF - πώς να χρησιμοποιήσετε τη συνάρτηση COUNTIF σε μια μη συνεχόμενη περιοχή ή μια επιλογή κελιών.
Χρήση INDIRECT με επικύρωση δεδομένων στο Excel
Μπορείτε να χρησιμοποιήσετε τη συνάρτηση INDIRECT του Excel με την Επικύρωση δεδομένων για να δημιουργήσετε κλιμακούμενες αναπτυσσόμενες λίστες που εμφανίζουν διαφορετικές επιλογές ανάλογα με την τιμή που επέλεξε ο χρήστης στην πρώτη αναπτυσσόμενη λίστα.
Μια απλή εξαρτημένη drop-down λίστα είναι πολύ εύκολο να δημιουργηθεί. Το μόνο που χρειάζεται είναι μερικές ονομαστικές περιοχές για την αποθήκευση των στοιχείων του drop-down και ένα απλό =INDIRECT(A2)
όπου A2 είναι το κελί που εμφανίζει την πρώτη σας αναπτυσσόμενη λίστα.
Για να δημιουργήσετε πιο σύνθετα μενού 3 επιπέδων ή drop-downs με καταχωρήσεις πολλών λέξεων, θα χρειαστείτε έναν λίγο πιο σύνθετο τύπο INDIRECT με μια ένθετη συνάρτηση SUBSTITUTE.
Για λεπτομερή καθοδήγηση βήμα προς βήμα σχετικά με τη χρήση του INDIRECT με την Επικύρωση δεδομένων του Excel, ανατρέξτε σε αυτό το σεμινάριο: Πώς να δημιουργήσετε μια εξαρτημένη αναπτυσσόμενη λίστα στο Excel.
Συνάρτηση INDIRECT του Excel - πιθανά σφάλματα και ζητήματα
Όπως καταδείχθηκε στα παραπάνω παραδείγματα, η συνάρτηση INDIRECT είναι αρκετά χρήσιμη όταν πρόκειται για αναφορές σε κελιά και περιοχές. Ωστόσο, δεν την αγκαλιάζουν πρόθυμα όλοι οι χρήστες του Excel, κυρίως επειδή η εκτεταμένη χρήση της INDIRECT σε τύπους του Excel έχει ως αποτέλεσμα την έλλειψη διαφάνειας. Η συνάρτηση INDIRECT είναι δύσκολο να αναθεωρηθεί, καθώς το κελί στο οποίο αναφέρεται δεν είναι η τελική θέση της τιμής που χρησιμοποιείται στον τύπο,το οποίο είναι πράγματι αρκετά μπερδεμένο, ειδικά όταν εργάζεστε με μεγάλους πολύπλοκους τύπους.
Εκτός από τα προαναφερθέντα, όπως και κάθε άλλη συνάρτηση του Excel, η INDIRECT μπορεί να προκαλέσει σφάλμα αν κάνετε κακή χρήση των ορίων της συνάρτησης. Ακολουθεί μια λίστα με τα πιο τυπικά λάθη:
Σφάλμα του Excel INDIRECT #REF!
Τις περισσότερες φορές, η συνάρτηση INDIRECT επιστρέφει σφάλμα #REF! σε τρεις περιπτώσεις:
- Το ref_text δεν είναι έγκυρη αναφορά κελιού Εάν η παράμετρος ref_text στον τύπο Indirect δεν είναι έγκυρη αναφορά κελιού, ο τύπος θα οδηγήσει στην τιμή σφάλματος #REF! Για να αποφύγετε πιθανά προβλήματα, ελέγξτε τα ορίσματα της συνάρτησης INDIRECT.
- Υπέρβαση του ορίου εμβέλειας Εάν το επιχείρημα ref_text του τύπου Indirect αναφέρεται σε μια περιοχή κελιών που υπερβαίνει το όριο γραμμής των 1.048.576 ή το όριο στήλης των 16.384, θα λάβετε επίσης το σφάλμα #REF στο Excel 2007, 2010 και Excel 2013. Οι παλαιότερες εκδόσεις του Excel αγνοούν το όριο υπέρβασης και επιστρέφουν κάποια τιμή, αν και συχνά όχι αυτή που θα περιμένατε.
- Το αναφερόμενο φύλλο ή βιβλίο εργασίας είναι κλειστό. Εάν ο έμμεσος τύπος σας αναφέρεται σε άλλο βιβλίο εργασίας ή φύλλο εργασίας του Excel, αυτό το άλλο βιβλίο εργασίας / φύλλο εργασίας πρέπει να είναι ανοιχτό, διαφορετικά το INDIRECT επιστρέφει το σφάλμα #REF!.
Σφάλμα Excel INDIRECT #NAME?
Αυτή είναι η πιο προφανής περίπτωση, που σημαίνει ότι υπάρχει κάποιο λάθος στο όνομα της συνάρτησης, γεγονός που μας οδηγεί στο επόμενο σημείο : )
Χρήση της συνάρτησης INDIRECT σε μη αγγλικές τοπικές γλώσσες
Ίσως σας ενδιαφέρει να μάθετε ότι η αγγλική ονομασία της λειτουργίας INDIRECT έχει μεταφραστεί σε 14 γλώσσες, μεταξύ των οποίων:
|
|
Εάν ενδιαφέρεστε να λάβετε τον πλήρη κατάλογο, παρακαλούμε επισκεφθείτε αυτή τη σελίδα.
Ένα συνηθισμένο πρόβλημα με μη αγγλικούς εντοπισμούς δεν είναι το όνομα της συνάρτησης INDIRECT, αλλά μάλλον οι διαφορετικές Περιφερειακές ρυθμίσεις για το Διαχωριστικό λίστας Στην τυπική διαμόρφωση των Windows για τη Βόρεια Αμερική και ορισμένες άλλες χώρες, η προεπιλεγμένη Διαχωριστικό λίστας Ενώ στις ευρωπαϊκές χώρες, το κόμμα διατηρείται ως το σύμβολο Δεκαδικό σύμβολο και το Διαχωριστικό λίστας έχει οριστεί σε άνω και κάτω τελεία.
Ως αποτέλεσμα, όταν αντιγράφετε έναν τύπο μεταξύ δύο διαφορετικών τοπικών εφαρμογών του Excel, μπορεί να λάβετε το μήνυμα σφάλματος " Βρήκαμε ένα πρόβλημα με αυτή τη φόρμουλα... " επειδή η Διαχωριστής λίστας που χρησιμοποιείται στον τύπο είναι διαφορετικό από αυτό που έχει οριστεί στο μηχάνημά σας. Εάν αντιμετωπίσετε αυτό το σφάλμα κατά την αντιγραφή κάποιου τύπου INDIRECT από αυτό το σεμινάριο στο Excel σας, απλά αντικαταστήστε όλα τα κόμματα (,) με άνω και κάτω τελεία (;) για να το διορθώσετε.
Για να ελέγξετε ποιος διαχωριστής λίστας και ποιο δεκαδικό σύμβολο είναι ρυθμισμένα στο μηχάνημά σας, ανοίξτε το παράθυρο Πίνακας ελέγχου , και πηγαίνετε στο Περιοχή και γλώσσα> Πρόσθετες ρυθμίσεις .
Ελπίζουμε ότι αυτό το σεμινάριο έριξε λίγο φως στη χρήση της INDIRECT στο Excel. Τώρα που γνωρίζετε τα πλεονεκτήματα και τους περιορισμούς της, ήρθε η ώρα να την δοκιμάσετε και να δείτε πώς η συνάρτηση INDIRECT μπορεί να απλοποιήσει τις εργασίες σας στο Excel. Σας ευχαριστούμε για την ανάγνωση!