Τύπος Excel: Αύξηση αναφοράς κελιού με INDIRECT -

Γενική φόρμουλα

=INDIRECT(sheet&"!"&CELL("address",A1))

Περίληψη

Για να αυξήσετε μια αναφορά που δημιουργήθηκε ως κείμενο μέσα στη συνάρτηση INDIRECT, μπορείτε να χρησιμοποιήσετε τη συνάρτηση CELL. Στο παράδειγμα που εμφανίζεται, ο τύπος στο D5 είναι:

=INDIRECT($B$5&"!"&CELL("address",A1))

Ποια αυξάνει καθώς ο τύπος αντιγράφεται.

Εξήγηση

Εξετάστε μια απλή δυναμική αναφορά στο Φύλλο2 χρησιμοποιώντας το INDIRECT σε έναν τύπο όπως αυτό:

=INDIRECT($B$5&"!"&"A1"))

Εάν αλλάξουμε το όνομα του φύλλου στο B5 σε ένα άλλο (έγκυρο) όνομα, το INDIRECT θα επιστρέψει μια αναφορά στο A1 στο νέο φύλλο.

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

Για να λύσουμε αυτό το πρόβλημα, χρησιμοποιούμε τη συνάρτηση CELL για να δημιουργήσουμε μια αναφορά κειμένου από μια κανονική αναφορά κελιού:

CELL("address",A1)

Με το "address" ως πρώτο όρισμα και το A1 ως το δεύτερο όρισμα, η συνάρτηση CELL επιστρέφει μια συμβολοσειρά όπως "$ A $ 1". Επειδή το Α1 είναι μια κανονική αναφορά κελιού, θα αυξάνεται κανονικά καθώς ο τύπος αντιγράφεται στη στήλη. Το αποτέλεσμα στο D5: D9 είναι μια σειρά τύπων ως εξής:

=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")

Σε κάθε περίπτωση, το INDIRECT επιλύει κάθε συμβολοσειρά κειμένου σε μια αναφορά και το Excel επιστρέφει την τιμή στο δεδομένο κελί στο Φύλλο2.

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

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