कोर्स
यह आमतौर पर सबसे गलत समय पर होता है: जो स्प्रेडशीट कल तक ठीक काम कर रही थी, वह डेडलाइन से ठीक पहले अचानक circular reference की चेतावनी दिखा देती है।
अच्छी खबर? ये circular references आपकी सोच से आसान ठीक हो जाते हैं।
इस गाइड में, मैं समझाऊँगा:
- Excel में circular references कैसे ढूंढें
- वे अलग-अलग तरीकों से कैसे प्रकट होते हैं, यह समझें
- उन्हें प्रमाणित तरीकों से कैसे ठीक करें
Excel में Circular References क्या हैं?
Excel में circular reference तब होता है जब कोई formula (प्रत्यक्ष या अप्रत्यक्ष रूप से) अपनी ही cell पर संदर्भित करता है और एक ऐसा calculation loop बनाता है जिसे Excel सुलझा नहीं पाता। उदाहरण के लिए, अगर cell A1 में =A1+10 है, तो Excel परिणाम निकालने की कोशिश में अनंत बार गणना करता रहेगा।
अप्रत्यक्ष लूप भी समस्या पैदा करते हैं। अगर A1 B1 पर निर्भर है, B1 C1 पर, और C1 A1 पर, तो Excel फँस जाता है। फाइल को गणना में बहुत समय लग सकता है, गलत मान दिख सकते हैं, या अपडेट पूरी तरह रुक सकता है।
अब, कुछ circular references साधारण formula गलतियाँ होती हैं, जबकि कुछ उन्नत मॉडलों में इरादतन डिजाइन विकल्प होते हैं। उस फर्क पर आगे चलकर आएँगे, पहले इनके प्रकार देखें।
प्रत्यक्ष circular references
प्रत्यक्ष circular reference तब होता है जब किसी formula में उसी cell का पता शामिल हो। मान लें आपके पास cells A2 और B2 में दो मान हैं। अगर हम cell C2 में A2 + B2 + C2 टाइप करते हैं, तो C2 सीधे खुद को ही संदर्भित कर रहा है।
जब आप formula दर्ज करके Enter दबाते हैं, तो circular reference का pop-up आता है। और OK पर क्लिक करने पर formula किसी तरह का अप्रत्याशित परिणाम लौटाता है।

प्रत्यक्ष circular reference। चित्र: लेखक।
यह 0 लौटाता है क्योंकि A2 और B2 जोड़ने पर 6 आना चाहिए, पर 'C2' खुद को जोड़े जा रहा है। Excel C2 का मान जाने बिना C2 की गणना नहीं कर सकता। यह एक ऐसा तात्कालिक लूप बनाता है जो कभी सुलझता नहीं।
नोट: ये circular references पहचानने में सबसे आसान होते हैं क्योंकि self-reference सीधे formula syntax में दिखती है। वास्तव में, formula दर्ज करते ही Excel इन्हें पकड़कर flag कर देता है।
अप्रत्यक्ष circular references
अप्रत्यक्ष circular reference तब होता है जब कई cells मिलकर ऐसी dependency chain बनाते हैं जो वापस शुरुआती बिंदु पर लौट आती है।
उदाहरण के लिए:
-
F2H4को संदर्भित करता है -
H4E4को संदर्भित करता है -
E4F2को संदर्भित करता है

अप्रत्यक्ष circular reference। चित्र: लेखक।
कोई एकल formula अपने आप में गलत नहीं दिखता। समस्या तब दिखती है जब Excel पूरी chain को trace करता है और समझता है कि गणना वहीं लौट रही है जहाँ से शुरू हुई थी।
इन्हें पहचानना कठिन है क्योंकि loop कई cells में फैला हो सकता है और जटिल workbooks में Excel circular dependency का पता लगाने से पहले यह कई worksheets तक भी जा सकता है।
छिपे हुए circular references
छिपा हुआ circular reference वह होता है जिसमें dependency loop formula syntax से स्पष्ट नहीं होता। यह अक्सर इनसे आता है:
-
Named ranges
-
INDIRECT() या
OFFSET()functions -
जटिल conditional logic
उदाहरण के लिए, एक named range QuarterlyTotal में cells C3 से C5 शामिल हैं, जिनमें तिमाही बिक्री के मान हैं।
cell C5 में, formula bar यह दिखाता है:
=QuarterlyTotal*0.1
पहली नज़र में यह ठीक लगता है। formula C5 को सीधे संदर्भित नहीं करता। लेकिन क्योंकि QuarterlyTotal में C5 शामिल है, Excel को C5 की गणना उसी total के हिस्से के रूप में करनी पड़ती है जिसका उपयोग C5 की गणना के लिए होता है।
यह एक छिपा हुआ लूप बनाता है:
-
Excel
QuarterlyTotalकी गणना करने की कोशिश करता है -
QuarterlyTotalमेंC5शामिल है -
C5QuarterlyTotalपर निर्भर है
संदर्भ circular है, भले ही formula syntax इसे सीधे न दिखाए।
यही चीज़ छिपे हुए circular references को troubleshoot करना इतना कठिन बनाती है। formulas सही लगते हैं, workbook लंबे समय तक सामान्य रूप से चल सकता है, और circular reference केवल तब सामने आता है जब Excel named range का मूल्यांकन करता है।

छिपा हुआ circular reference। चित्र: लेखक।
Conditional logic इसे और कठिन बना सकती है। क्यों? क्योंकि nested IF() स्टेटमेंट्स कुछ खास परिस्थितियों में ही circular reference बना सकते हैं। नतीजतन, फाइल तब तक काम करती रहती है जब तक कुछ मान नहीं बदलते।
छिपे हुए circular references ठीक करना सबसे चुनौतीपूर्ण होता है क्योंकि dependency loop को प्रत्यक्ष cell references नहीं, बल्कि abstraction छुपा लेती है।
इरादतन बनाम आकस्मिक circular references
कुछ circular references डिजाइन के तहत मौजूद होते हैं। अन्य वे त्रुटियाँ हैं जिन्हें आपको हटाना चाहिए।
इरादतन (deliberate) circular references
इरादतन circular reference जानबूझकर तब बनाया जाता है जब मॉडलिंग की विशिष्ट ज़रूरतों में मान एक-दूसरे पर निर्भर होते हैं।
उदाहरण के तौर पर वित्तीय मॉडलिंग लें: ब्याज व्यय outstanding debt balance पर निर्भर करता है, जबकि debt balance cash flow के आधार पर बदलता है, जिसमें ब्याज व्यय शामिल है। यह एक feedback loop बनाता है जो वास्तविक व्यावसायिक तर्क को दर्शाता है।
मॉडल एक सरल संरचना से शुरू होता है:
- Debt Balance शुरुआती राशि को दर्शाता है
- Interest Expense debt के प्रतिशत के रूप में निकाला जाता है
- Updated Debt में मूल balance और ब्याज—दोनों शामिल होते हैं

इरादतन circular references। चित्र: लेखक।
जब ब्याज debt के आधार पर निकाला जाता है, और updated debt में वही ब्याज शामिल होता है, तो गणना स्वाभाविक रूप से अपने ऊपर लौट आती है। Excel इसे circular reference के रूप में flag करता है और डिफ़ॉल्ट रूप से शून्य लौटाता है क्योंकि वह एक ही pass में dependency हल नहीं कर पाता।
इसे रोकने के लिए, iterative calculation इस तरह चालू करें:
- जाएँ Files > Options > Formulas
- Calculation Option सेक्शन में Enable iterative calculation बॉक्स को चेक करें

Iterative calculation विकल्प सक्षम करें। चित्र: लेखक।
Iterative calculation सक्षम होने पर Excel बार-बार ब्याज और updated debt के मानों की पुनर्गणना करता है। हर pass के साथ, संख्याएँ थोड़ी-थोड़ी समायोजित होती हैं जब तक वे स्थिर न हो जाएँ और बदलना बंद न कर दें।
अंतिम परिणाम एक single-step calculation के बजाय एक converged solution का प्रतिनिधित्व करता है। यह इसलिए काम करता है क्योंकि circular reference इरादतन है। ब्याज debt को प्रभावित करता है, और debt ब्याज को। प्रत्येक मान दूसरे को प्रभावित करता है, इसलिए दोहराई गई पुनर्गणना अपेक्षित और आवश्यक है।

Iterative calculation। चित्र: लेखक।
नोट: Iterative calculation अपने आप में अर्थपूर्ण परिणाम की गारंटी नहीं देता। यह वही logic दोहराता है जो आपने मॉडल में बनाया है, इसलिए इरादतन circular references के लिए सावधानीपूर्वक निगरानी और वैधता-जांच आवश्यक है।
आकस्मिक circular references
आकस्मिक circular reference formula त्रुटियों, copy-paste गलतियों या अनचाहे परिवर्तनों से बनता है। मान लें कि आप cells A1:A3 में 2, 4, और 6 दर्ज करते हैं।
A4 में आपको कुल चाहिए, इसलिए आपने यह दर्ज किया:
=SUM(A1:A4)
अब cell A4 खुद को ही गणना में शामिल कर रहा है।
Enter दबाने पर Excel circular reference चेतावनी दिखाता है। OK पर क्लिक करने के बाद, Excel 0 लौटाता है।

आकस्मिक circular reference। चित्र: लेखक।
यह circular reference वास्तविक तर्क नहीं दर्शाता। यह इसलिए है क्योंकि formula का range गलत है।
Excel में Circular References कैसे ठीक करें
एक बार Excel कोई loop flag कर दे, तो आपको यह ढूंढना होगा कि यह ठीक कहाँ से शुरू होता है और इसे कैसे सुलझाना है।
आइए कुछ तरीकों को देखें, इस पर निर्भर करते हुए कि circular reference आकस्मिक है या इरादतन:
समस्या का त्वरित पता लगाना
Excel में circular references को तेज़ी से pinpoint करने के लिए कई अंतर्निहित detection टूल्स हैं, जिनमें से प्रत्येक की अपनी ताकत और सीमाएँ हैं। आइए इन विकल्पों से गुजरें।
स्टेटस बार सूचनाएँ
circular reference का सबसे तेज़ पता स्टेटस बार से चलता है, जो Excel विंडो के बाएँ-नीचे होता है।
जब कोई circular reference होता है, Excel ऐसा संदेश दिखाता है: “Circular References: G4.” यह आपको हाल में पकड़े गए उस cell के बारे में बताता है जो loop में शामिल है।

स्टेटस बार पर circular reference दिखाएँ। चित्र: लेखक।
हालाँकि, स्टेटस बार एक समय में केवल एक circular reference दिखाता है। यदि कई loops मौजूद हैं, तो Excel उन्हें एक-एक करके दिखाता है।
इसे ऐसे सुलझाएँ:
- स्टेटस बार में दिखे cell को ठीक करें
- स्टेटस बार फिर जाँचें
- संदेश गायब होने तक दोहराएँ
टिप: हर cell address नोट कर लें, क्योंकि एक loop ठीक करने पर अक्सर दूसरा सामने आ जाता है।
प्रारंभिक चेतावनी संदेश
Excel यह चेतावनी संदेश भी दिखाता है जब:
- आप कोई circular reference बनाते हैं, या
- आप कोई ऐसा workbook खोलते हैं जिसमें पहले से एक मौजूद है
चेतावनी आमतौर पर बताती है कि एक या अधिक formulas स्वयं को संदर्भित करते हैं और गलत गणना कर सकते हैं।
ये चेतावनियाँ तब आना बंद हो सकती हैं अगर:
- आपने पहले OK क्लिक करके संदेश को dismiss कर दिया था
- Iterative calculation सक्षम है
- Calculation mode Manual पर सेट है (Formulas > Calculation Options > Manual)
यदि परिणाम गलत लग रहे हों और कोई चेतावनी न आए, तो इस तरह पुनर्गणना कराएँ:
- F9 दबाकर सक्रिय worksheet को recalculate करें
- Ctrl + Alt + F9 दबाकर सभी worksheets में पुनर्गणना कराएँ
टिप: workbook को बंद करके दोबारा खोलना भी Excel को फिर से चेतावनी दिखाने पर मजबूर कर सकता है।
Error checking टूल
एक साथ कई circular references देखने के लिए, Excel के Error Checking टूल का उपयोग करें: जाएँ Formulas > Error Checking > Circular References
यह मेनू सभी detect किए गए circular references की सूची दिखाता है और आपको सीधे हर cell पर ले जाता है, जिससे जटिल workbooks का निदान आसान हो जाता है।
यदि Circular References उपमेनू खाली दिखे, लेकिन Excel का व्यवहार अभी भी गलत हो, तो सूची को ताज़ा करने के लिए F9 दबाएँ।

circular references खोजने के लिए error-checking टूल। चित्र: लेखक।
नोट: Excel 2007 और बाद के संस्करणों में यह फीचर Ribbon में उपलब्ध है। पुराने संस्करणों में समान विकल्प मेनू बार से मिलते हैं।
दृश्य tracing टूल्स
समस्या-ग्रस्त cell पहचान लेने के बाद, दृश्य tracing टूल्स का उपयोग करें ताकि circular reference कैसे बन रहा है, यह दिख सके।
ये टूल cells के बीच तीर बनाते हैं और dependencies को formulas के भीतर छिपाने के बजाय दृश्य बना देते हैं। दोनों Formulas टैब के Formula Auditing समूह में उपलब्ध हैं:
- Trace Precedents दिखाता है कि कौन से cells चुने हुए formula में feed होते हैं। Excel इनपुट cells से formula cell की ओर तीर बनाता है। इसका शॉर्टकट Alt + M, P है
- Trace Dependents दिखाता है कि कौन से cells चुने हुए cell के मान का उपयोग करते हैं। Excel चुने हुए cell से उन formulas तक तीर बनाता है जो उसे संदर्भित करते हैं। इसका शॉर्टकट Alt + M, D है
यदि precedents और dependents को trace करने पर तीर अंततः शुरुआती cell पर लौट आते हैं, तो वे एक loop बनाते हैं और circular reference की पुष्टि होती है।

Trace Precedents और Trace Dependents। चित्र: लेखक।
formula ठीक करने के बाद तीर अब loop नहीं बनाएँगे और circular reference गायब हो जाएगा। आप उसी मेनू में Remove Arrows का उपयोग कर तीर हटा सकते हैं।
Formula restructuring और वैकल्पिक गणनाएँ
अधिकांश circular references गलत गणना क्रम के कारण होते हैं, न कि Excel की खराबी से। ऐसे आकस्मिक circular references के लिए formula restructuring सबसे प्रभावी समाधान है।
इसे ठीक करने के कुछ तरीके यहाँ हैं:
self-dependencies हटाने के लिए formulas को पुनर्गठित करें
circular references अक्सर तब दिखते हैं जब कोई formula अपने ही परिणाम का उपयोग करके मान निकालने की कोशिश करता है।
उदाहरण के लिए, cell A2 में =A2+1 जैसा formula तात्कालिक loop बनाता है क्योंकि cell खुद पर निर्भर है। इसे ठीक करने के लिए आवश्यक इनपुट को किसी अलग cell में ले जाएँ और उसी मान को संदर्भित करें।
dependency हटते ही Excel सामान्य रूप से formula की गणना कर सकता है।
मध्यवर्ती गणनाओं के लिए helper columns का उपयोग करें
circular references तब भी आते हैं जब एक ही formula कई चरण एक साथ सँभालने की कोशिश करता है।
उदाहरण के लिए, यदि दो cells किसी साझा मान की गणना के लिए एक-दूसरे पर निर्भर हों, तो Excel के पास स्पष्ट शुरुआती बिंदु नहीं रहता। इसे ठीक करने के लिए, एक helper cell जोड़ें जो पहले मध्यवर्ती गणना कर दे।
साझा मानों को अलग helper cell में गणना करने से Excel एक स्पष्ट क्रम का पालन कर सकता है:
- पहले helper cell की गणना
- फिर dependent formulas की गणना
यह तरीका formulas को सरल बनाता है और circular dependencies खत्म करता है।
summaries को गणनाओं से अलग रखें
टोटल्स और summary formulas को उन्हीं cells में नहीं मिलाना चाहिए जिन पर वे निर्भर हैं। जब कोई summary अपने range से संख्याएँ खींचती है और उसमें खुद शामिल होती है, तो Excel circular reference बना देता है।
उदाहरण के लिए, यदि A2 में 1000 का base amount है, और B2 में 10% की दर है, C2 कुल राशि दिखाता है, और D2 कोई शुल्क गणना करता है।
यदि C2 में =A2+D2 है और D2 में =C2*$B$2, तो circular reference बनता है क्योंकि total शुल्क पर निर्भर है और शुल्क total पर।
Excel किसी एक की भी पहले गणना नहीं कर सकता।
इसे ठीक करने के लिए शुल्क को total से नहीं, base value से निकालें। इसलिए D2 को =A2*$B$2 करें और C2 को =A2+D2 ही रखें।

circular reference से बचने के लिए अलग cells का उपयोग करें। चित्र: लेखक।
अब Excel पहले शुल्क की गणना कर सकता है और फिर उसे base value में जोड़ सकता है। circular reference गायब हो जाता है क्योंकि हर formula के पास स्पष्ट शुरुआती बिंदु है।
इरादतन circular logic के लिए iterative calculation सक्षम करना
Iterative calculation का उपयोग केवल तभी करें जब circular references इरादतन डिजाइन तत्व हों, आकस्मिक त्रुटियाँ नहीं। यह तरीका वित्तीय मॉडलों और अन्य परिस्थितियों के लिए उपयुक्त है जहाँ वैध feedback loops होते हैं, और circular logic वास्तविक-world व्यवहार को दर्शाता है।
Excel for Windows में iterative calculation सक्षम करने के लिए:
- File > Options > Formulas पर जाएँ
- Calculation options में Enable iterative calculation चेक करें
- OK क्लिक करें
सक्षम होने पर, Excel circular references में शामिल formulas की पुनर्गणना तब तक बार-बार करता है जब तक वे स्थिर न हो जाएँ या कोई stopping condition न आ जाए।
मुख्य iteration सेटिंग्स
दो सेटिंग्स नियंत्रित करती हैं कि iterative calculation कैसे व्यवहार करेगी:
- Maximum Iterations यह सेट करता है कि Excel रुकने से पहले formulas को कितनी बार पुनर्गणना करेगा। 100 iterations का मान अधिकांश व्यावसायिक और वित्तीय मॉडलों के लिए उपयुक्त रहता है।
- Maximum Change यह परिभाषित करता है कि Excel पुनर्गणना रोकने से पहले गणना के परिणामों के बीच अंतर कितना छोटा होना चाहिए। 0.001 एक सामान्य शुरुआती बिंदु है जो सटीकता और प्रदर्शन में संतुलन रखता है।
इनमें से किसी भी सेटिंग को बढ़ाने से सटीकता में सुधार हो सकता है, लेकिन बड़े workbooks में पुनर्गणना धीमी हो सकती है।
यह तरीका कब उपयोग करें
Iterative calculation केवल तब सक्षम करें जब:
- circular reference वैध व्यावसायिक तर्क दर्शाता हो
- मॉडल में वैध feedback loops हों (उदाहरण के लिए, ब्याज debt पर निर्भर हो, जबकि debt ब्याज के आधार पर बदलता हो)
- आप उम्मीद करते हों कि मान अनिश्चित काल तक दोलन करने के बजाय स्थिर हो जाएँगे
यह तरीका formula त्रुटियों से बने आकस्मिक circular references का समाधान नहीं है।
महत्वपूर्ण चेतावनियाँ
Iterative calculation सक्षम करने से पहले, इन जोखिमों को ध्यान में रखें:
- आकस्मिक circular references पर अब अलर्ट न आ सकता है, जिससे त्रुटियाँ पकड़ना कठिन हो सकता है।
- बड़े या जटिल मॉडलों में पुनर्गणना धीमी हो सकती है।
- अगर मान स्थिर होने के बजाय दोलन करें, तो परिणाम अविश्वसनीय हो सकते हैं।
इन जोखिमों के कारण, iterative calculation का हमेशा स्पष्ट रूप से दस्तावेज़ीकरण होना चाहिए।
जटिल मॉडलों के लिए सर्किट ब्रेकर लागू करना
सर्किट ब्रेकर एक उन्नत तकनीक है जो आपको नियंत्रण देती है कि circular logic कब सक्रिय हो। circular reference हटाने के बजाय, आप formula के अंदर एक control मान का उपयोग करके इसे जानबूझकर रोकते या अनुमति देते हैं।
यह तरीका उन वित्तीय मॉडलर्स और power users के लिए सबसे उपयुक्त है जिन्हें कुछ परिस्थितियों में circular logic चाहिए, लेकिन हर समय नहीं।
एक सर्किट ब्रेकर आमतौर पर उपयोग करता है:
-
एक control cell (अक्सर
0या1) -
एक IF स्टेटमेंट जो circular और non-circular logic के बीच स्विच करता है
सामान्य pattern ऐसा दिखता है:
=IF($A$1=1, circular_logic, non_circular_alternative)
- जब control cell
0हो, तो formula circular reference से बचता है - जब control cell
1हो, तो circular logic चलने दिया जाता है
मान लें आप निम्न मान दर्ज करते हैं:
-
A1: सर्किट ब्रेकर (0 या 1) -
A2: शुरुआती balance = 1000 -
B2: ब्याज -
C2: अपडेटेड balance
B2 में =IF($A$1=1, C2*10%, A2*10%) और C2 में =A2+B2 दर्ज करें
अब:
-
जब
A1=0हो, तो ब्याज शुरुआती balance से निकाला जाएगा। circular reference अक्षम रहेगा, और Excel सामान्य रूप से गणना करेगा। -
जब
A1=1हो, तो ब्याज updated balance से निकाला जाएगा। circular logic सक्रिय होकर एक इरादतन feedback loop बनाता है।

सर्किट ब्रेकर का उपयोग। चित्र: लेखक।
सर्किट ब्रेकर कब उपयोग करें
सर्किट ब्रेकर उपयोगी हैं:
- formulas बनाते और मान्य करते समय circular logic बंद रखने के लिए
- circular logic को ऑन-ऑफ करके समस्याएँ अलग करने और परिणाम सत्यापित करने के लिए
- circular logic को अक्षम रखकर मॉडल दिखाने के लिए ताकि मान्यताएँ और यांत्रिकी समझाना आसान हो
समस्या-ग्रस्त formulas हटाकर नए सिरे से शुरू करना
यह अंतिम उपाय है: अन्य तरीके विफल हों तो इसका उपयोग करें। यह उन workbooks के लिए उपयुक्त है जिनमें dependencies बेहद उलझी हों, अस्पष्ट logic वाली inherited फाइलें हों, या समय के दबाव में तेज़ लेकिन भरोसेमंद समाधान चाहिए।
टूटी हुई formulas सुलझाने की कोशिश के बजाय, आप मॉडल को reset करते हैं और व्यवस्थित रूप से फिर से बनाते हैं।
आइए देखें कैसे।
चरण 1: बैकअप प्रति बनाएँ
कोई भी बदलाव करने से पहले workbook की पूर्ण बैकअप प्रति बनाएँ। ऐसा करने के लिए:
-
workbook को Excel में खोलें
-
File > Save As > Browse पर जाएँ और अलग स्थान चुनें या उसी फ़ोल्डर में फाइल सेव करें
-
फाइल का नाम बदलें, जैसे
Workbook_Backup.xlsx -
क्लिक करें Save

workbook की बैकअप प्रति बनाएँ। चित्र: लेखक।
यह मूल formulas, logic और परिणामों को संरक्षित करता है ताकि बाद में संदर्भ ले सकें या आवश्यकता पड़ने पर वापस लौट सकें।
कभी भी इस तरीके को फाइल की एकमात्र प्रति पर न आज़माएँ।
चरण 2: वर्तमान संरचना का दस्तावेज़ीकरण करें
अब, workbook अभी कैसे काम कर रहा है, उसे कैप्चर करें:
- मुख्य हिस्सों के स्क्रीनशॉट लें
- हर worksheet क्या गणना करती है, यह नोट करें
- inputs, outputs, और summaries की पहचान करें
यह दस्तावेज़ीकरण आपको समझने में मदद करता है कि क्या-क्या फिर से बनाना है और सफाई के दौरान महत्वपूर्ण logic खोने से बचाता है।
चरण 3: formulas को मानों से बदलें
एक साथ सभी circular dependencies तोड़ने के लिए, प्रभावित ranges कॉपी करें और Paste Special का उपयोग करें। formulas को उनके गणितीय परिणामों से बदलने के लिए राइट-क्लिक > Paste Special > Values चुनें।

Paste Special विकल्प का उपयोग करें। चित्र: लेखक।
यह सभी circular references तुरंत हटा देता है, जबकि दिखाई दे रहे संख्याओं को एक अस्थायी baseline के रूप में सुरक्षित रखता है।
चरण 4: formulas को क्रमिक रूप से फिर बनाएँ
workbook को एक साथ नहीं, हिस्सों में फिर से बनाइए:
- एक तार्किक ब्लॉक के formulas जोड़ें
- पुनर्गणना के लिए F9 दबाएँ
- पक्का करें कि circular reference नहीं आता
- अगले सेक्शन पर जाएँ
चरण 5: बैकअप से मिलान कर परिणाम सत्यापित करें
हर सेक्शन को फिर बनाते समय, परिणामों की तुलना बैकअप फाइल से करें। आपको ऐसे अंतर दिख सकते हैं जो इंगित करते हैं:
- गायब इनपुट्स
- गलत formula logic
- पहले छिपी हुई गणना त्रुटियाँ
दुर्लभ references के लिए उन्नत पहचान
कुछ circular references Excel के मानक टूल्स से नहीं दिखते। ऐसे में, उन्नत तकनीकें आज़माएँ:
समग्र स्कैनिंग के लिए VBA मैक्रोज़
जब मैन्युअल tracing बहुत धीमी हो, VBA कुछ सेकंड में हज़ारों cells स्कैन कर सकता है और पूरे workbook में circular references की पहचान कर सकता है।
मूल तरीका ऐसा दिखता है:
- Visual Basic Editor खोलने के लिए Alt + F11 दबाएँ।
- जाएँ Insert > Module।
- circular reference detection macro पेस्ट करें।
- उसे चलाने के लिए F5 दबाएँ।

VBA इंटरफ़ेस। चित्र: लेखक।
टिप: आपको VBA शून्य से लिखने की ज़रूरत नहीं। आप जो चाहते हैं उसे साधारण भाषा में वर्णित करें और ChatGPT से एक कस्टम detection macro जनरेट कराएँ।
यहाँ एक उदाहरण VBA स्क्रिप्ट है:
Option Explicit
Public Sub HighlightCircularReferences_ActiveSheet()
Dim ws As Worksheet, c As Range
Dim hasAny As Boolean
Set ws = ActiveSheet
Application.ScreenUpdating = False
' Optional: clear previous highlighting (only on used range)
On Error Resume Next
ws.UsedRange.Interior.Pattern = xlNone
On Error GoTo 0
' Scan formula cells only
On Error Resume Next
For Each c In ws.UsedRange.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If IsCircularFormula(c) Then
c.Interior.Color = RGB(255, 230, 153) ' light yellow
hasAny = True
End If
Next c
Application.ScreenUpdating = True
If hasAny Then
MsgBox "Circular reference cells highlighted on: " & ws.Name, vbInformation
Else
MsgBox "No circular references found on: " & ws.Name, vbInformation
End If
End Sub
Private Function IsCircularFormula(ByVal startCell As Range) As Boolean
Dim inPath As Object
Set inPath = CreateObject("Scripting.Dictionary")
IsCircularFormula = TraceForCycle(startCell, startCell, inPath, 0)
End Function
Private Function TraceForCycle(ByVal startCell As Range, ByVal curCell As Range, _
ByVal inPath As Object, ByVal depth As Long) As Boolean
Dim prec As Range, a As Range, x As Range
Dim key As String
' Safety limit to avoid deep/huge graphs freezing Excel
If depth > 200 Then Exit Function
key = curCell.Parent.Name & "!" & curCell.Address(False, False)
If inPath.Exists(key) Then
' We hit a loop in the current path
TraceForCycle = True
Exit Function
End If
inPath.Add key, True
' Direct precedents (cells referenced by curCell)
On Error Resume Next
Set prec = curCell.DirectPrecedents
On Error GoTo 0
If Not prec Is Nothing Then
For Each a In prec.Areas
For Each x In a.Cells
' If any precedent is the start cell -> circular
If x.Address(External:=True) = startCell.Address(External:=True) Then
TraceForCycle = True
Exit Function
End If
' Recurse only within worksheets (avoid names/constants)
If x.Parent Is curCell.Parent Or True Then
If TraceForCycle(startCell, x, inPath, depth + 1) Then
TraceForCycle = True
Exit Function
End If
End If
Next x
Next a
End If
inPath.Remove key
End Function

circular references वाले cells पहचानने के लिए VBA मैक्रोज़ का उपयोग करें। चित्र: लेखक।
यह macro सक्रिय शीट में formulas के circular references की जाँच करता है। यदि कोई formula सीधे या अन्य cells के माध्यम से खुद पर लौटता है, तो macro उन cells को highlight कर देता है ताकि आप आसानी से समस्या का स्थान देख सकें। यह तब भी काम करता है जब Iterative calculation चालू हो।

VBA ने circular reference वाले cells को highlight किया। चित्र: लेखक।
क्रॉस-worksheet जाँच
कई worksheets में फैले circular references पहचानना कठिन होता है क्योंकि trace arrows टैब्स के पार नहीं जाते।
यह कुछ ऐसा दिख सकता है:
- Sheet A, Sheet B को संदर्भित करता है
- Sheet B, Sheet C को संदर्भित करता है
- Sheet C, Sheet A को संदर्भित करता है
इसे पहचानने का एक तरीका है शीट dependencies का मानचित्र बनाना। इसके लिए, लिख लें कि कौन सी शीट किन शीट्स को संदर्भित करती है और उस सूची में loops ढूँढें।
आप Find & Replace का उपयोग करके cross-sheet references भी ढूँढ सकते हैं:
-
दबाएँ Ctrl + H
-
किसी शीट का नाम लिखें और उसके बाद
!(जैसे,Sheet1!) -
क्लिक करें Find All
Excel उस शीट को संदर्भित करने वाले हर formula की सूची देगा, ताकि आप cross-tab dependencies trace कर सकें।

workbook में जुड़े हुए शीट्स ढूँढें। चित्र: लेखक।
नोट: Find & Replace circular references को स्वतः detect नहीं करता। यह केवल cross-sheet dependencies ढूँढता है, जिनका आप बाद में loops के लिए विश्लेषण करते हैं।
Named range समस्या-निवारण
Named ranges circular references छुपा सकते हैं क्योंकि formulas अब सीधे cell addresses नहीं दिखाते। उनकी समीक्षा करने के लिए:
- “Name Manager” खोलें Ctrl + F3
- हर named range की परिभाषा जाँचें
- ऐसे ranges ढूँढें जो उन्हीं cells को शामिल करते हों जो formulas में उसी range नाम को संदर्भित करते हैं

Named ranges जाँचें। चित्र: लेखक।
Conditional logic से जुड़ी समस्याएँ
कुछ circular references केवल विशेष परिस्थितियों में ही दिखाई देते हैं।
उदाहरण के लिए:
=IF(A1>100, A2+10, 100)
जब A1 100 से कम है, Excel दूसरा विकल्प चुनता है और circular reference मौजूद नहीं रहता। जब A1 100 से ऊपर जाता है, Excel पहला विकल्प जाँचता है और A2 को A2 से ही गणना करने की कोशिश करता है, जिससे circular reference trigger होता है।
इन्हें पहचानने के लिए:
- विभिन्न इनपुट मानों का परीक्षण करें ताकि सभी conditional paths चलें
- ध्यान दें कि circular reference चेतावनी केवल कुछ स्थितियों में ही तो नहीं आती
उन्हें ठीक करने के लिए, circular logic को अलग helper cells में ले जाएँ और nested IF स्टेटमेंट्स को सरल, step-by-step गणनाओं में बदलें।
Excel में Circular References से कैसे बचें
कुछ शुरुआती आदतें बाद में घंटों की debugging बचा सकती हैं, खासकर जब workbooks बढ़ते हैं या दूसरों के साथ साझा किए जाते हैं।
तो ये कुछ सर्वोत्तम प्रथाएँ हैं जिनका आपको पालन करना चाहिए:
workbook योजना और formula डिज़ाइन
अच्छी संरचना अधिकांश circular references को शुरू होने से पहले ही रोक देती है। यह ज़रूर करें:
-
इनपुट, गणनाएँ, और आउटपुट अलग रखें ताकि formulas एक स्पष्ट दिशा में आगे बढ़ें।
-
एक ही formula में सब कुछ करने के बजाय helper cells या helper columns का उपयोग करें।
-
गणनाएँ अपने ही परिणामों या downstream totals पर नहीं, बल्कि पहले वाले मानों पर निर्भर हों।
-
self-referencing ranges से बचने के लिए input cells को totals और summaries से दूर रखें।
Copy-paste ऑपरेशंस और reference प्रबंधन
कई circular references copy-paste के दौरान आ जाते हैं। इसलिए, यह ध्यान रखें:
-
पहले formula एक cell में पेस्ट करें और उसे पूरे range में कॉपी करने से पहले Formula Bar में जाँच लें।
-
ऐसी दरों और मान्यताओं के लिए absolute references (जैसे,
$A$1) का उपयोग करें जो बदलनी नहीं चाहिए। -
summary formulas को उन ranges के भीतर न रखें जिनकी वे गणना करते हैं।
-
साफ़-सुथरे नाम स्पष्ट करते हैं कि formula क्या संदर्भित कर रहा है और ranges के बढ़ने पर गलतियों को कम करते हैं।
दस्तावेज़ीकरण और नियमित ऑडिटिंग
हल्का-फुल्का दस्तावेज़ीकरण बहुत काम आता है। इसलिए काम करते समय यह ध्यान रखें:
-
छोटे cell comments जोड़ें या एक साधारण documentation worksheet रखें।
-
महत्वपूर्ण प्रस्तुतियों या handoffs से पहले Formula Auditing टूल्स से formulas की समीक्षा करें।
-
महत्वपूर्ण फाइलों के संस्करण सेव करें ताकि समस्याएँ कब आईं, यह trace कर सकें।
-
सहयोगी फाइलों में, बदलाव नियमित रूप से जाँचें ताकि छोटी गलतियाँ न फैलें।
अंतिम विचार
यदि आप अभी किसी circular reference से जूझ रहे हैं, तो पहले यह तय करें कि वह आकस्मिक है या इरादतन। यही तय करेगा कि आपको formulas का पुनर्गठन करना चाहिए, iteration सक्षम करनी चाहिए, या मॉडल का कोई हिस्सा फिर से डिज़ाइन करना चाहिए।
सेटिंग्स या वर्कअराउंड्स की ओर तब तक न भागें जब तक आपको भरोसा न हो कि तर्क खुद में सही है।
समस्या ठीक हो जाने के बाद, आगे के काम के लिए फाइल को आसान बनाने में थोड़ा समय दें। महत्वपूर्ण formulas पर संक्षिप्त नोट्स जोड़ें, workbook की एक साफ़ प्रति सेव करें, और सुनिश्चित करें कि जो भी इसे उपयोग करेगा, उसे समझ हो कि गणनाएँ कैसे काम करती हैं।
मैं एक कंटेंट स्ट्रैटेजिस्ट हूँ जिसे जटिल विषयों को सरल बनाना पसंद है। मैंने Splunk, Hackernoon, और Tiiny Host जैसी कंपनियों को अपने दर्शकों के लिए आकर्षक और सूचनात्मक सामग्री बनाने में मदद की है।
FAQs
क्या circular references Excel फाइल को corrupt कर सकते हैं?
Circular references फाइल को corrupt नहीं करते, लेकिन वे गलत परिणाम दिखा सकते हैं और workbook उपयोग करने वाले किसी भी व्यक्ति के लिए भ्रम पैदा कर सकते हैं।
क्या data validation या conditional formatting circular references बना सकते हैं?
वे अपने-आप formula loops नहीं बनाते, लेकिन वे ऐसे cells को संदर्भित कर सकते हैं जो गणनाओं को प्रभावित करते हैं और debugging को कठिन बना सकते हैं क्योंकि वे formula के बाहर तर्क जोड़ते हैं।
यदि “संख्याएँ ठीक दिख रही हैं” तो circular reference चेतावनी को नज़रअंदाज़ करना ठीक है?
यह जोखिम भरा है। workbook ऐसा मान दे सकता है जो calculation settings, ऑपरेशंस के क्रम, या मेमोरी में पिछले मानों पर निर्भर हो।
circular reference और सामान्य dependency chain में क्या अंतर है?
सामान्य chain का एक साफ़ शुरुआती और अंतिम बिंदु होता है (inputs > calculations > outputs)। लेकिन circular reference उस cell पर लौटता है जो खुद पर निर्भर है, इसलिए Excel iteration के बिना अंतिम मान नहीं निकाल सकता।
