Πίνακας περιεχομένων
Αυτό το σύντομο σεμινάριο εξηγεί τα βασικά στοιχεία των κυκλικών αναφορών του Excel και γιατί πρέπει να προσέχετε τη χρήση τους. Θα μάθετε επίσης πώς να ελέγχετε, να βρίσκετε και να αφαιρείτε κυκλικές αναφορές σε φύλλα εργασίας του Excel, και αν τίποτα από τα παραπάνω δεν αποτελεί επιλογή, πώς να ενεργοποιείτε και να χρησιμοποιείτε κυκλικούς τύπους.
Προσπαθήσατε να εισαγάγετε κάποιον τύπο στο φύλλο του Excel, αλλά για κάποιο λόγο δεν λειτουργεί. Αντ' αυτού, σας λέει κάτι για ένα κυκλική αναφορά Έτσι καταλήξατε σε αυτή τη σελίδα; :)
Χιλιάδες χρήστες αντιμετωπίζουν το ίδιο πρόβλημα σε καθημερινή βάση απλώς και μόνο επειδή αναγκάζουν έναν τύπο του Excel να υπολογίζει το δικό του κελί. Όταν προσπαθείτε να το κάνετε αυτό, το Excel εμφανίζει το ακόλουθο μήνυμα σφάλματος:
"Προσοχή, βρήκαμε μία ή περισσότερες κυκλικές αναφορές στο βιβλίο εργασίας σας, οι οποίες ενδέχεται να προκαλέσουν εσφαλμένο υπολογισμό του τύπου σας."
Με απλά λόγια, αυτό που προσπαθεί να πει το Excel είναι το εξής: "Μπορεί να κολλήσω στον κυκλικό κόμβο. Είσαι σίγουρος ότι θέλεις να προχωρήσω ούτως ή άλλως;".
Όπως καταλαβαίνετε, οι κυκλικές αναφορές στο Excel είναι ενοχλητικές και η κοινή λογική λέει να τις αποφεύγετε όποτε είναι δυνατόν. Ωστόσο, μπορεί να υπάρχουν κάποιες σπάνιες περιπτώσεις όπου μια κυκλική αναφορά στο Excel είναι η μόνη δυνατή λύση για την εργασία που αντιμετωπίζετε.
Τι είναι η κυκλική αναφορά στο Excel;
Ακολουθεί ένας πολύ άμεσος και συνοπτικός ορισμός του κυκλική αναφορά που παρέχεται από τη Microsoft:
" Όταν ένας τύπος του Excel παραπέμπει στο δικό του κελί, είτε άμεσα είτε έμμεσα, δημιουργεί μια κυκλική αναφορά. "
Για παράδειγμα, αν επιλέξετε το κελί A1 και πληκτρολογήσετε =A1
Η εισαγωγή οποιουδήποτε άλλου τύπου ή υπολογισμού που παραπέμπει στον A1 θα είχε την ίδια επίπτωση, π.χ. =A1*5
ή =IF(A1=1, "OK")
.
Μόλις πατήσετε Enter για να ολοκληρώσετε έναν τέτοιο τύπο, θα λάβετε το ακόλουθο προειδοποιητικό μήνυμα:
Γιατί σας προειδοποιεί το Microsoft Excel; Επειδή οι κυκλικές αναφορές του Excel μπορούν να επαναλαμβάνονται επ' αόριστον δημιουργώντας έναν ατελείωτο βρόχο, επιβραδύνοντας έτσι σημαντικά τους υπολογισμούς του βιβλίου εργασίας.
Μόλις λάβετε την παραπάνω προειδοποίηση, μπορείτε να κάνετε κλικ στο Βοήθεια για περισσότερες πληροφορίες ή κλείστε το παράθυρο μηνύματος κάνοντας κλικ είτε στο OK είτε στο κουμπί σταυρός. Όταν κλείνετε το παράθυρο μηνύματος, το Excel εμφανίζει είτε ένα μηδέν (0) ή το τελευταία υπολογισμένη τιμή στο κελί. Ναι, σε ορισμένες περιπτώσεις, ένας τύπος με κυκλική αναφορά μπορεί να ολοκληρωθεί επιτυχώς πριν προσπαθήσει να υπολογίσει τον εαυτό του, και όταν συμβεί αυτό, το Microsoft Excel επιστρέφει την τιμή του τελευταίου επιτυχημένου υπολογισμού.
Σημείωση. Σε πολλές περιπτώσεις, όταν εισάγετε περισσότερους από έναν τύπους με κυκλική αναφορά, το Excel δεν εμφανίζει επανειλημμένα το προειδοποιητικό μήνυμα.
Αλλά γιατί να θέλει κάποιος να φτιάξει έναν τόσο ηλίθιο τύπο που δεν κάνει τίποτα άλλο από το να δημιουργεί περιττά προβλήματα; Σωστά, κανένας λογικός χρήστης δεν θα ήθελε ποτέ να εισάγει σκόπιμα έναν κυκλικό τύπο όπως ο παραπάνω. Ωστόσο, μπορεί να δημιουργήσετε μια κυκλική αναφορά στο φύλλο του Excel κατά λάθος, και εδώ είναι ένα πολύ συνηθισμένο σενάριο.
Ας υποθέσουμε ότι θέλετε να αθροίσετε τις τιμές στη στήλη Α με έναν συνηθισμένο τύπο SUM και όταν το κάνετε αυτό, συμπεριλαμβάνετε κατά λάθος το ίδιο το κελί του αθροίσματος (B6 σε αυτό το παράδειγμα).
Εάν οι κυκλικές αναφορές δεν επιτρέπονται στο Excel σας (και είναι απενεργοποιημένες από προεπιλογή), θα δείτε ένα μήνυμα σφάλματος που συζητήσαμε πριν από λίγο. Εάν οι επαναληπτικοί υπολογισμοί είναι ενεργοποιημένοι, τότε ο κυκλικός σας τύπος θα επιστρέψει 0 όπως στο ακόλουθο στιγμιότυπο οθόνης:
Σε ορισμένες περιπτώσεις, ένα ή περισσότερα μπλε βέλη μπορεί επίσης να εμφανιστούν ξαφνικά στο φύλλο εργασίας σας, οπότε μπορεί να νομίζετε ότι το Excel σας έχει τρελαθεί και πρόκειται να καταρρεύσει.
Στην πραγματικότητα, αυτά τα βέλη δεν είναι τίποτα περισσότερο από Ανιχνεύστε τα προηγούμενα ή Εντοπισμός εξαρτημένων , τα οποία υποδεικνύουν ποια κελιά επηρεάζουν ή επηρεάζονται από το ενεργό κελί. Θα συζητήσουμε πώς μπορείτε να εμφανίζετε και να αποκρύπτετε αυτά τα βέλη λίγο αργότερα.
Μέχρι τώρα, μπορεί να έχετε την εντύπωση ότι οι κυκλικές αναφορές του Excel είναι ένα άχρηστο και επικίνδυνο πράγμα, και μπορεί να αναρωτιέστε γιατί το Excel δεν τις έχει απαγορεύσει εντελώς. Όπως ήδη αναφέρθηκε, υπάρχουν κάποιες πολύ σπάνιες περιπτώσεις όπου η χρήση μιας κυκλικής αναφοράς στο Excel μπορεί να δικαιολογηθεί, επειδή παρέχει μια πιο σύντομη και κομψή λύση, αν όχι τη μόνη δυνατή. Το ακόλουθο παράδειγμα καταδεικνύει κάτι τέτοιοέναν τύπο.
Χρήση μιας κυκλικής αναφοράς του Excel - παράδειγμα τύπου
Σε ένα από τα προηγούμενα σεμινάριά μας, συζητήσαμε πώς να εισάγουμε τη σημερινή ημερομηνία στο Excel. Και η συντριπτική πλειοψηφία των ερωτήσεων που αναρτήθηκαν στα σχόλια αφορούσαν το πώς να εισάγετε μια timestamp στο Excel χωρίς να αλλάζει κάθε φορά που το φύλλο εργασίας ανοίγει ξανά ή υπολογίζεται εκ νέου. Ήμουν πολύ διστακτικός στο να απαντήσω σε αυτά τα σχόλια, επειδή η μόνη λύση που γνωρίζω περιλαμβάνει κυκλικές αναφορές και πρέπει να αντιμετωπίζονται με προσοχή. Εν πάση περιπτώσει, εδώ είναι ένα πολύ συνηθισμένο σενάριο...
Ας υποθέσουμε ότι έχετε μια λίστα αντικειμένων στη στήλη Α και εισάγετε την κατάσταση παράδοσης στη στήλη Β. Μόλις πληκτρολογήσετε " Ναι " στη στήλη Β, θέλετε η τρέχουσα ημερομηνία και ώρα να εισαχθεί αυτόματα στην ίδια γραμμή της στήλης Γ ως static αμετάβλητο timestamp .
Η χρήση ενός τετριμμένου τύπου NOW() δεν αποτελεί επιλογή, επειδή αυτή η συνάρτηση του Excel είναι πτητική, δηλαδή ενημερώνει την τιμή της κάθε φορά που ανοίγει εκ νέου το φύλλο εργασίας ή υπολογίζεται εκ νέου. Μια πιθανή λύση είναι η χρήση εμφωλευμένων συναρτήσεων IF με κυκλική αναφορά στο δεύτερο IF:
=IF(B2="ναι", IF(C2="" ,NOW(), C2), "")
Όπου B2 είναι η κατάσταση παράδοσης και C2 είναι το κελί στο οποίο θέλετε να εμφανιστεί η χρονοσφραγίδα.
Στον παραπάνω τύπο, η πρώτη συνάρτηση IF ελέγχει το κελί B2 για " Ναι " (ή οποιοδήποτε άλλο κείμενο παρέχετε στον τύπο), και αν το καθορισμένο κείμενο υπάρχει, εκτελεί τη δεύτερη IF, διαφορετικά επιστρέφει ένα κενό αλφαριθμητικό. Και η δεύτερη συνάρτηση IF είναι ένας κυκλικός τύπος που ανακτά την τρέχουσα ημέρα και ώρα, αν η C2 δεν έχει ήδη μια τιμή σε αυτήν, αποθηκεύοντας έτσι όλες τις υπάρχουσες χρονοσφραγίδες.
Σημείωση: Για να λειτουργήσει αυτός ο κυκλικός τύπος του Excel, θα πρέπει να επιτρέψετε επαναληπτικούς υπολογισμούς στο φύλλο εργασίας σας, και αυτό ακριβώς θα συζητήσουμε στη συνέχεια.
Πώς να ενεργοποιήσετε / απενεργοποιήσετε τις κυκλικές αναφορές στο Excel
Όπως σημειώθηκε νωρίτερα, επαναληπτικοί υπολογισμοί είναι συνήθως απενεργοποιημένοι στο Excel από προεπιλογή (σε αυτό το πλαίσιο, η επανάληψη είναι ο επαναλαμβανόμενος επανυπολογισμός μέχρι να ικανοποιηθεί μια συγκεκριμένη αριθμητική συνθήκη). Για να λειτουργήσουν οι κυκλικοί τύποι, πρέπει να ενεργοποιήσετε τους επαναληπτικούς υπολογισμούς στο βιβλίο εργασίας του Excel.
Στο Excel 2019 , Excel 2016 , Excel 2013 , και Excel 2010 , κάντε κλικ Αρχείο >, Επιλογές , πηγαίνετε στο Τύποι , και επιλέξτε το Ενεργοποίηση επαναληπτικού υπολογισμού πλαίσιο ελέγχου κάτω από το Επιλογές υπολογισμού τμήμα.
Στο Excel 2007, κάντε κλικ στο Κουμπί γραφείου >, Επιλογές Excel >, Τύποι >, Περιοχή επανάληψης .
Στο Excel 2003 και σε προηγούμενες εκδόσεις, το Επαναληπτικός υπολογισμός η επιλογή βρίσκεται κάτω από Μενού >, Εργαλεία >, Επιλογές >, Υπολογισμός καρτέλα.
Όταν ενεργοποιείτε τους επαναληπτικούς υπολογισμούς, πρέπει να καθορίσετε τις ακόλουθες δύο επιλογές:
- Μέγιστες επαναλήψεις box - καθορίζει πόσες φορές θα πρέπει να επαναϋπολογιστεί ο τύπος. Όσο μεγαλύτερος είναι ο αριθμός των επαναλήψεων, τόσο περισσότερος χρόνος απαιτείται για τον υπολογισμό.
- Μέγιστη αλλαγή box - καθορίζει τη μέγιστη μεταβολή μεταξύ των αποτελεσμάτων υπολογισμού. Όσο μικρότερος είναι ο αριθμός, τόσο πιο ακριβές αποτέλεσμα λαμβάνετε και τόσο περισσότερο χρόνο χρειάζεται το Excel για τον υπολογισμό του φύλλου εργασίας.
Οι προεπιλεγμένες ρυθμίσεις είναι 100 για Μέγιστες επαναλήψεις και 0,001 για Μέγιστη αλλαγή Αυτό σημαίνει ότι το Microsoft Excel θα σταματήσει τον υπολογισμό του κυκλικού σας τύπου μετά από 100 επαναλήψεις ή μετά από μια αλλαγή μικρότερη από 0,001 μεταξύ των επαναλήψεων, όποιο από τα δύο συμβεί πρώτα.
Γιατί πρέπει να αποφεύγετε τη χρήση κυκλικών αναφορών στο Excel
Όπως ήδη γνωρίζετε, η χρήση κυκλικών αναφορών στο Excel είναι μια ολισθηρή και μη συνιστώμενη προσέγγιση. Εκτός από τα προβλήματα απόδοσης και το προειδοποιητικό μήνυμα που εμφανίζεται σε κάθε άνοιγμα ενός βιβλίου εργασίας (εκτός αν είναι ενεργοποιημένοι οι επαναληπτικοί υπολογισμοί), οι κυκλικές αναφορές μπορούν να οδηγήσουν σε μια σειρά άλλων προβλημάτων, τα οποία δεν είναι άμεσα εμφανή.
Για παράδειγμα, εάν επιλέξετε ένα κελί με κυκλική αναφορά και στη συνέχεια μεταβείτε κατά λάθος στη λειτουργία επεξεργασίας τύπου (είτε πατώντας F2 είτε κάνοντας διπλό κλικ στο κελί) και στη συνέχεια πατήσετε Enter χωρίς να κάνετε καμία αλλαγή στον τύπο, θα επιστρέψει μηδέν.
Οπότε, να μια συμβουλή από πολλούς σεβαστούς γκουρού του Excel - προσπαθήστε να αποφεύγετε τις κυκλικές αναφορές στα φύλλα σας όποτε είναι δυνατόν.
Πώς να βρείτε κυκλικές αναφορές στο Excel
Για να ελέγξετε το βιβλίο εργασίας του Excel για κυκλικές αναφορές, εκτελέστε τα ακόλουθα βήματα:
- Πηγαίνετε στο Τύποι καρτέλα, κάντε κλικ στο βέλος δίπλα στο Έλεγχος σφαλμάτων , και δείχνουν προς Κυκλικές αναφορές Εκεί εμφανίζεται η τελευταία εισαχθείσα κυκλική αναφορά.
- Κάντε κλικ στο κελί που αναγράφεται στο Κυκλικές αναφορές και το Excel θα σας μεταφέρει ακριβώς σε αυτό το κελί.
Μόλις το κάνετε αυτό, η γραμμή κατάστασης θα σας ενημερώσει ότι βρέθηκαν κυκλικές αναφορές στο βιβλίο εργασίας σας και θα εμφανίσει τη διεύθυνση ενός από αυτά τα κελιά:
Εάν βρεθούν κυκλικές αναφορές σε άλλα φύλλα, η γραμμή κατάστασης εμφανίζει μόνο " Κυκλικές αναφορές " χωρίς διεύθυνση κυττάρου.
Σημείωση. Αυτή η λειτουργία είναι απενεργοποιημένη όταν είναι ενεργοποιημένη η επιλογή Επαναληπτικός υπολογισμός, επομένως πρέπει να την απενεργοποιήσετε πριν αρχίσετε να ελέγχετε το βιβλίο εργασίας για κυκλικές αναφορές.
Πώς να αφαιρέσετε κυκλικές αναφορές στο Excel
Δυστυχώς, δεν υπάρχει κανένας μηχανισμός στο Excel που θα σας επέτρεπε να εξαλείψετε όλους τους κυκλικούς τύπους σε ένα βιβλίο εργασίας με ένα κλικ στο κουμπί. Για να απαλλαγείτε από αυτούς, θα πρέπει να επιθεωρήσετε κάθε κυκλική αναφορά ξεχωριστά εκτελώντας τα παραπάνω βήματα και στη συνέχεια είτε να αφαιρέσετε εντελώς έναν συγκεκριμένο κυκλικό τύπο είτε να τον αντικαταστήσετε με έναν ή περισσότερους απλούς τύπους.
Πώς να εντοπίζετε τις σχέσεις μεταξύ τύπων και κελιών
Σε περιπτώσεις που μια κυκλική αναφορά στο Excel δεν είναι προφανής, η Ιχνηλατήστε τα προηγούμενα και Εντοπισμός εξαρτημένων μπορούν να σας δώσουν μια ένδειξη σχεδιάζοντας μία ή περισσότερες γραμμές που δείχνουν ποια κελιά επηρεάζουν ή επηρεάζονται από το επιλεγμένο κελί.
Για να εμφανίσετε τα βέλη ιχνηλάτησης, μεταβείτε στο Τύποι tab>, Έλεγχος τύπου και κάντε κλικ σε μία από τις επιλογές:
Ανιχνεύστε τα προηγούμενα - εντοπίζει τα κελιά που παρέχουν δεδομένα σε έναν τύπο, δηλαδή σχεδιάζει γραμμές που υποδεικνύουν ποια κελιά επηρεάζουν το επιλεγμένο κελί.
Εντοπισμός εξαρτημένων - εντοπίζει τα κελιά που εξαρτώνται από το ενεργό κελί, δηλαδή σχεδιάζει γραμμές που υποδεικνύουν ποια κελιά επηρεάζονται από το επιλεγμένο κελί. Με άλλα λόγια, δείχνει ποια κελιά περιέχουν τύπους που αναφέρονται στο επιλεγμένο κελί.
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τις ακόλουθες συντομεύσεις:
- Ανίχνευση προηγουμένων: Alt+T U T
- Ανίχνευση εξαρτημένων: Alt+T U D
Για να αποκρύψετε τα βέλη, κάντε κλικ στο Αφαίρεση βελών που βρίσκεται ακριβώς κάτω από το κουμπί Ανίχνευση εξαρτημένων .
Στο παραπάνω παράδειγμα, το Ανιχνεύστε τα προηγούμενα βέλος δείχνει ποια κελιά παρέχουν απευθείας δεδομένα στο B6. Όπως μπορείτε να δείτε, το κελί B6 περιλαμβάνεται επίσης, γεγονός που το καθιστά κυκλική αναφορά και προκαλεί την επιστροφή του μηδενός από τον τύπο. Φυσικά, αυτό είναι εύκολο να διορθωθεί, απλά αντικαταστήστε το B6 με το B5 στο επιχείρημα του SUM: =SUM(B2:B5)
Άλλες κυκλικές αναφορές μπορεί να μην είναι τόσο προφανείς και να απαιτούν περισσότερη σκέψη και υπολογισμούς.
Έτσι αντιμετωπίζετε τις κυκλικές αναφορές του Excel. Ελπίζω ότι αυτό το σύντομο σεμινάριο έριξε λίγο φως σε αυτό το "τυφλό σημείο" και τώρα μπορείτε να κάνετε περαιτέρω έρευνα για να μάθετε περισσότερα. Σας ευχαριστώ για την ανάγνωση και ανυπομονώ να σας δω στο blog μας την επόμενη εβδομάδα!