Theory
#DIV/0! से भरी report
Aryan एक profit-margin column बनाता है: margin = profit / sales। यह काम करता है, जब तक एक नई दुकान जिसने इस महीने शून्य sales की दिखती नहीं है। वह row गुस्सैल लाल में #DIV/0! दिखाती है, शून्य से भाग अपरिभाषित है।
Meera error codes से चित्तीदार एक report देखती है और सोचती है पूरी चीज़ टूटी है।
Formula सही है; यह बस एक अपेक्षित edge case से मिला। IFERROR Aryan को उसे शालीनता से पकड़ने देता है, डरावने error के बजाय एक साफ़ '0%' या एक dash दिखाते हुए। पर एक व्यावसायिक पेच है: लापरवाही से इस्तेमाल किया, यह असली bugs छिपा सकता है।
Theory
एक विनम्र receptionist
एक receptionist की कल्पना कीजिए जो, जब एक caller किसी अनुपलब्ध व्यक्ति को माँगता है, एक error tone के साथ फ़ोन नहीं पटकता, बल्कि शांति से कहता है 'वे अभी नहीं हैं, क्या मैं एक message ले लूँ?'। IFERROR वह receptionist है: जब एक formula एक समस्या से टकराता है, #DIV/0! चीख़ने के बजाय, यह आपका चुना शांत message पहुँचाता है। caller (Meera) को एक सहज अनुभव होता है। पर एक अच्छा receptionist अब भी आपको असली समस्याओं के बारे में बताता है, जो नीचे की सावधानी है।
At a glance
IFERROR जो आम errors पकड़ता है
| Error | मतलब | आम कारण |
|---|---|---|
| #DIV/0! | शून्य से भाग | एक margin में sales = 0 |
| #N/A | कोई मेल नहीं मिला | VLOOKUP चूक |
| #VALUE! | ग़लत data type | जहाँ number चाहिए वहाँ text |
| #REF! | टूटा reference | एक संदर्भित cell delete हुई |
Theory
IFERROR, औपचारिक रूप से
=IFERROR(formula, value_if_error)
Excel formula चलाता है; अगर यह सफल होता है, आपको नतीजा मिलता है; अगर यह बिलकुल भी error देता है, आपको बदले में fallback मिलता है।
Aryan का fix: =IFERROR(profit/sales, 0) 0 दिखाता है (या "-", या ख़ाली के लिए "") जब sales 0 हो, #DIV/0! के बजाय। एक VLOOKUP को उसी तरह लपेटना (=IFERROR(VLOOKUP(...), "Not found")) एक #N/A को एक दोस्ताना message में बदलता है।
सरल, और यह तुरंत reports को व्यावसायिक दिखाता है। कौशल यह जानना है कि कब इसे इस्तेमाल करें।
Quiz
Aryan =IFERROR(profit/sales, "N/A") लिखता है और एक row में sales = 0 है। cell क्या दिखाती है?
- N/A, क्योंकि profit/sales एक #DIV/0! error होता, तो fallback इस्तेमाल होता है
- #DIV/0!, IFERROR division errors नहीं पकड़ता
- 0, IFERROR हमेशा 0 लौटाता है
- Profit value अपरिवर्तित
Show the answer
N/A, क्योंकि profit/sales एक #DIV/0! error होता, तो fallback इस्तेमाल होता है
profit/0 एक #DIV/0! error होता, तो IFERROR इसे रोक लेता है और बदले में fallback "N/A" लौटाता है। IFERROR किसी भी error type को पकड़ता है (#DIV/0! और #N/A समेत) और आपकी चुनी value बदलता है। एक अपेक्षित edge case (शून्य sales) की यह शालीन handling ठीक वह है जिसके लिए IFERROR है।
Think first
सब कुछ छिपाने का ख़तरा
एक सहकर्मी अपने workbook में हर formula को IFERROR(..., "") में लपेटता है ताकि कभी कोई error न दिखे। यह बुरा अभ्यास क्यों है, भले report साफ़ दिखे?
Show the answer
क्योंकि IFERROR सारे errors छिपाता है, असली bugs समेत। अगर एक formula में एक असली गलती है (एक delete किए column से #REF!, बुरे data से एक #VALUE!), IFERROR चुपचाप इसे ख़ाली कर देता है, तो report सही दिखती है जबकि गलत होती है, सबसे बुरा नतीजा। सर्वोत्तम अभ्यास: जहाँ आप कर सकें कारण ठीक कीजिए, और IFERROR को सिर्फ अपेक्षित errors (जैसे divide-by-zero या एक lookup चूक) के इर्द-गिर्द लपेटिए। lookups के लिए, IFNA() सुरक्षित है, यह सिर्फ #N/A पकड़ता है और असली bugs दिखने देता है। साफ़ अच्छा है; bugs छिपाना ख़तरनाक है।
Watch out
Marks कहाँ कटते हैं
यह सोचना कि IFERROR formula को ठीक करता है, यह सिर्फ error display बदलता है; underlying मुद्दा रहता है। इसे असली bugs छिपाने को अति-इस्तेमाल करना (एक असली व्यावसायिक-निर्णय बिंदु जो examiners को पसंद है)। आम error types न जानना (#DIV/0!, #N/A, #VALUE!, #REF!, #NAME?)। और यह चूकना कि IFNA() सिर्फ #N/A पकड़ता है (VLOOKUP के लिए सुरक्षित)। IFERROR को सोच-समझकर इस्तेमाल कीजिए, अपेक्षित errors के लिए, एक blanket cover-up के रूप में नहीं।
Theory
आप अपना अगला function इसमें लपेटेंगे
बिलकुल अगला lesson VLOOKUP है, जिसकी सबसे मशहूर विफलता #N/A है (कोई मेल नहीं मिला)। IFERROR (या IFNA) ठीक वह है जिससे आप उस #N/A को एक साफ़ 'Not found' में बदलते हैं, lookup-आधारित reports को मज़बूत बनाते हुए। Errors हमेशा bugs नहीं होते; कभी-कभी वे edge cases होते हैं, और उन्हें शालीनता से संभालना शिल्प की पहचान है। आगे: lookup functions, VLOOKUP, HLOOKUP और XLOOKUP, इस elective का star कौशल।
Summary
Key takeaways
- IFERROR(formula, value_if_error) आपका fallback लौटाता है जब formula कोई भी error देता है।
- आम errors: #DIV/0! (शून्य से भाग), #N/A (कोई मेल नहीं), #VALUE! (ग़लत type), #REF! (delete किया reference)।
- इसे APEKSHIT errors (शून्य-division, lookup चूक) के लिए इस्तेमाल कीजिए ताकि reports व्यावसायिक दिखें।
- सावधानी: यह असली bugs समेत सारे errors छिपाता है, तो इसे सोच-समझकर इस्तेमाल कीजिए, एक blanket के रूप में नहीं।
- IFNA() सिर्फ #N/A पकड़ता है, VLOOKUP के लिए एक सुरक्षित विकल्प।
- याद रखने का hook: एक विनम्र receptionist एक error tone के बजाय एक शांत message देता है।