No history yet

Advanced Logic Functions

जटिल लॉजिक के लिए नेस्टेड IF का उपयोग

आप बुनियादी IF फ़ंक्शन से पहले से ही परिचित हैं, जो एक शर्त के आधार पर दो परिणामों के बीच चयन करता है। लेकिन जब आपको कई स्तरों वाले निर्णय लेने हों तो क्या होगा? यहीं पर काम आता है। नेस्टेड IF का मतलब है एक IF फ़ंक्शन के अंदर दूसरे IF फ़ंक्शन को रखना।

कल्पना कीजिए कि आप एक बिक्री टीम के लिए कमीशन की गणना कर रहे हैं। नियम इस प्रकार हैं:

  • ₹50,000 से अधिक की बिक्री पर 10% कमीशन।
  • ₹25,000 से ₹50,000 के बीच की बिक्री पर 5% कमीशन।
  • ₹25,000 से कम की बिक्री पर कोई कमीशन नहीं।

इस तरह की बहु-स्तरीय स्थिति को संभालने के लिए, आप IF फ़ंक्शन को एक-दूसरे के अंदर नेस्ट कर सकते हैं।

=IF(A2>50000, A2*10%, IF(A2>25000, A2*5%, 0))

इस सूत्र में, बाहरी IF जाँचता है कि बिक्री ₹50,000 से अधिक है या नहीं। यदि हाँ, तो यह 10% कमीशन की गणना करता है। यदि नहीं, तो यह एक और IF फ़ंक्शन पर जाता है जो जाँचता है कि बिक्री ₹25,000 से अधिक है या नहीं, और उसी के अनुसार 5% कमीशन या 0 देता है।

नेस्टेड IF शक्तिशाली होते हैं, लेकिन कई स्तरों के साथ वे जल्दी ही जटिल और भ्रमित करने वाले हो सकते हैं। कोष्ठक (brackets) का ट्रैक रखना एक चुनौती बन सकता है।

AND और OR के साथ अपनी शर्तों को बेहतर बनाएँ

जब आपको एक ही समय में कई शर्तों का मूल्यांकन करने की आवश्यकता हो, तो लंबे नेस्टेड IF स्टेटमेंट बनाने के बजाय, आप AND और OR फ़ंक्शन का उपयोग कर सकते हैं। ये फ़ंक्शन बूलियन लॉजिक पर आधारित हैं और आपके फ़ार्मुलों को बहुत सरल बना सकते हैं।

  • AND: यदि इसके सभी तर्क (arguments) TRUE हैं तो TRUE लौटाता है।
  • OR: यदि इसका कोई भी तर्क TRUE है तो TRUE लौटाता है।

मान लीजिए कि किसी कर्मचारी को बोनस तब मिलता है जब उसकी बिक्री ₹40,000 से अधिक हो और उसकी ग्राहक संतुष्टि रेटिंग 5 में से 4.5 से अधिक हो।

=IF(AND(A2>40000, B2>4.5), "बोनस पात्र", "पात्र नहीं")

इसी तरह, यदि कोई कर्मचारी बोनस के लिए योग्य है यदि वह या तो "उत्कृष्ट" प्रदर्शनकर्ता है या उसने एक विशेष प्रशिक्षण कार्यक्रम पूरा कर लिया है, तो आप OR का उपयोग कर सकते हैं।

=IF(OR(C2="उत्कृष्ट", D2="पूर्ण"), "बोनस पात्र", "पात्र नहीं")

आधुनिक विकल्प: IFS और SWITCH

जटिल नेस्टेड IF की चुनौती को पहचानते हुए, Microsoft ने Excel में नए फ़ंक्शन पेश किए हैं।

IFS फ़ंक्शन

IFS फ़ंक्शन (Excel 2019 और Microsoft 365 में उपलब्ध) आपको कई स्थितियों का परीक्षण करने की अनुमति देता है और पहली TRUE शर्त से मेल खाने वाला मान लौटाता है। यह नेस्टेड IF की तुलना में बहुत अधिक स्वच्छ है।

हमारे पहले कमीशन उदाहरण को IFS का उपयोग करके फिर से लिखते हैं:

=IFS(A2>50000, A2*10%, A2>25000, A2*5%, A2<=25000, 0)

देखें यह कितना सरल है? कोई नेस्टिंग नहीं, बस शर्तों और परिणामों के जोड़े।

SWITCH फ़ंक्शन

SWITCH फ़ंक्शन (Excel 2019 और Microsoft 365 में भी) एक मान की तुलना मानों की सूची से करता है और पहले मेल खाने वाले मान के अनुरूप परिणाम लौटाता है। यह तब सबसे अच्छा काम करता है जब आपके पास एक ही मान के लिए कई संभावित सटीक मिलान हों।

उदाहरण के लिए, एक ग्रेडिंग सिस्टम जहाँ अंक एक अक्षर ग्रेड में परिवर्तित होते हैं:

=SWITCH(A2, "A", "उत्कृष्ट", "B", "अच्छा", "C", "औसत", "D", "सुधार की आवश्यकता है", "अमान्य ग्रेड")

यहाँ, SWITCH A2 में मान लेता है और उसे सूची से मिलाता है। यदि कोई मेल नहीं मिलता है, तो यह अंतिम, डिफ़ॉल्ट मान ("अमान्य ग्रेड") लौटाता है।

फ़ंक्शनश्रेष्ठ उपयोगजटिलता
नेस्टेड IF2-3 स्तरों के लॉजिक के लिए, पुराने Excel संस्करणों के साथ संगतता।उच्च (पढ़ने और डीबग करने में कठिन)
IFS3+ शर्तों वाले रैखिक निर्णयों के लिए जहाँ प्रत्येक शर्त स्वतंत्र है।मध्यम (बहुत साफ और सीधा)
SWITCHएक मान की तुलना कई सटीक मानों से करने के लिए।निम्न (विशिष्ट उपयोग के मामलों के लिए सबसे कुशल)

त्रुटियों को शालीनता से संभालना

आपकी MIS रिपोर्ट में #N/A, #DIV/0! या #VALUE! जैसी त्रुटियाँ अव्यवसायिक दिखती हैं। IFERROR और IFNA फ़ंक्शन आपको इन त्रुटियों को पकड़ने और उनके बजाय एक कस्टम संदेश या मान प्रदर्शित करने की अनुमति देते हैं।

IFERROR

IFERROR फ़ंक्शन किसी भी प्रकार की त्रुटि के लिए जाँच करता है। यदि कोई सूत्र त्रुटि में परिणत होता है, तो यह आपके द्वारा निर्दिष्ट मान लौटाता है; अन्यथा, यह सूत्र का परिणाम लौटाता है।

मान लीजिए कि आप प्रति बिक्री औसत लागत की गणना कर रहे हैं (C2/D2C2/D2), लेकिन कभी-कभी बिक्री की संख्या (D2) शून्य हो सकती है, जिससे #DIV/0! त्रुटि होती है।

=IFERROR(C2/D2, "बिक्री डेटा नहीं")

अब, यदि D2 शून्य है, तो सेल में बदसूरत त्रुटि के बजाय "बिक्री डेटा नहीं" दिखाई देगा।

IFNA

IFNA IFERROR के समान है, लेकिन यह विशेष रूप से #N/A त्रुटि को संभालता है। यह त्रुटि आमतौर पर VLOOKUP, HLOOKUP, या MATCH जैसे लुकअप फ़ंक्शन के साथ होती है जब कोई मान नहीं मिलता है।

यदि आप किसी कर्मचारी आईडी (A2) की तलाश कर रहे हैं और वह नहीं मिलती है, तो एक मानक VLOOKUP #N/A लौटाएगा।

=IFNA(VLOOKUP(A2, Employees, 2, FALSE), "कर्मचारी नहीं मिला")

यह आपकी रिपोर्ट को बहुत अधिक साफ और पठनीय बनाता है, खासकर जब बड़ी डेटा शीट से निपटते हैं जहाँ गुम मान आम हैं।

Quiz Questions 1/6

एक्सेल में नेस्टेड IF फ़ंक्शन का उपयोग क्यों किया जाता है?

Quiz Questions 2/6

यदि आपको एक बोनस की गणना करने की आवश्यकता है जो केवल तभी दिया जाता है जब कोई कर्मचारी अपनी बिक्री लक्ष्य को पूरा करता है और एक सकारात्मक ग्राहक समीक्षा प्राप्त करता है, तो आप IF फ़ंक्शन के साथ किस लॉजिकल फ़ंक्शन का उपयोग करेंगे?