निर्णय लेने के लिए एक्सेल के IF स्टेटमेंट व्यापक रूप से उपयोग किए जाते हैं, लेकिन वे हमेशा सबसे सुंदर समाधान नहीं होते। जैसे-जैसे आपकी शर्तें अधिक जटिल होती हैं, नेस्टेड IF स्टेटमेंट पढ़ने, बनाए रखने और समस्या निवारण करने में कठिन हो सकते हैं। उन स्तरित स्थितियों को संभालने के लिए, एक्सेल कई शक्तिशाली विकल्प प्रदान करता है जो आपके फ़ॉर्मूला को अधिक कुशल और समझने में आसान बना सकते हैं।
इस ट्यूटोरियल में, हम 7 एक्सेल फ़ंक्शन दिखाएंगे जो IF स्टेटमेंट को बदल सकते हैं।
आइए साइड-बाय-साइड फ़ॉर्मूला तुलना दिखाने के लिए एक नमूना बिक्री डेटासेट पर विचार करें।
1. IFS() - कई शर्तों को सुंदरता से संभालें
IFS फ़ंक्शन क्रम में कई शर्तों का मूल्यांकन करता है और पहले TRUE शर्त के अनुरूप मान लौटाता है। यह नेस्टेड IF स्टेटमेंट को बदलने के लिए एकदम सही है। नेस्टेड IF स्टेटमेंट लंबे और डीबग करने में कठिन हो जाते हैं। IFS टियर्ड तर्क को सरल बनाता है।
सिंटैक्स:
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)
आइए बिक्री ऑर्डर मूल्यों को प्रदर्शन रेटिंग में वर्गीकृत करें:
- उत्कृष्ट $10,000 से अधिक के ऑर्डर के लिए।
- अच्छा $5,000 और $10,000 के बीच के ऑर्डर के लिए।
- औसत $2,000 और $5,000 के बीच के ऑर्डर के लिए।
- लक्ष्य से नीचे उससे कम के लिए।
IF दृष्टिकोण:
=IF(J2>10000, "उत्कृष्ट", IF(J2>5000, "अच्छा", IF(J2>2000, "औसत", "लक्ष्य से नीचे")))
IFS दृष्टिकोण:
=IFS(J2>10000, "उत्कृष्ट", J2>5000, "अच्छा", J2>2000, "औसत", TRUE, "लक्ष्य से नीचे")
IFS फ़ंक्शन तर्कों का एक जोड़ा लेता है:
- एक शर्त और वह मान जो लौटाया जाए यदि वह शर्त TRUE है।
- अंतिम TRUE तर्क उन मामलों के लिए कैच-ऑल के रूप में कार्य करता है जो पिछली शर्तों को पूरा नहीं करते।
लाभ:
- भ्रमित करने वाले ब्रैकेट नहीं।
- पढ़ने और बनाए रखने में आसान।
- शर्तों की प्राथमिकता स्पष्ट रूप से दिखाता है।
2. SWITCH() - सटीक मिलान के लिए बिल्कुल सही
SWITCH कई IF स्टेटमेंट की तुलना में अधिक कुशल है जब आपको एकल मान की तुलना कई सटीक संभावनाओं से करने की आवश्यकता होती है। यह एक मान की तुलना कई सटीक मिलानों से करता है।
सिंटैक्स:
=SWITCH(expression, value1, result1, [value2, result2], ..., [default])
आइए क्षेत्रों को बिक्री प्रबंधक असाइन करें:
- पूर्व: मॉर्गन स्मिथ
- पश्चिम: टेलर वोंग
- उत्तर: जेमी रोड्रिग्ज
- दक्षिण: केसी जॉनसन
IF दृष्टिकोण:
=IF(E2="पूर्व", "मॉर्गन स्मिथ", IF(E2="पश्चिम", "टेलर वोंग", IF(E2="उत्तर", "जेमी रोड्रिग्ज", IF(E2="दक्षिण", "केसी जॉनसन", "अनअसाइन्ड"))))
SWITCH दृष्टिकोण:
=SWITCH(E2, "पूर्व", "मॉर्गन स्मिथ", "पश्चिम", "टेलर वोंग", "उत्तर", "जेमी रोड्रिग्ज", "दक्षिण", "केसी जॉनसन", "अनअसाइन्ड")
- SWITCH एक अभिव्यक्ति का मूल्यांकन मानों की सूची के विरुद्ध करता है, फिर पहले मिलान वाले मान के अनुरूप परिणाम लौटाता है।
- अंतिम तर्क डिफ़ॉल्ट मान के रूप में कार्य करता है यदि कोई मिलान नहीं मिलता।
ध्यान दें कि SWITCH दृष्टिकोण नेस्टेड IF स्टेटमेंट की तुलना में कितना क्लीनर और पढ़ने में आसान है।
लाभ:
- कॉम्पैक्ट और सहज।
- विस्तार और पुनः क्रमित करना आसान।
- नेस्टिंग आवश्यक नहीं।
3. CHOOSE() - स्थिति के आधार पर सूची से चुनें
जब आपका तर्क एक संख्यात्मक स्थिति के आधार पर पूर्वनिर्धारित सूची से चयन करने का होता है, तो CHOOSE नेस्टेड IF की तुलना में अधिक सीधा होता है।
सिंटैक्स:
=CHOOSE(index_num, value1, [value2], ...)
आइए तिमाही संख्या को उस तिमाही के पहले महीने में परिवर्तित करें:
IF दृष्टिकोण:
=IF(F2=1, "जनवरी", IF(F2=2, "अप्रैल", IF(F2=3, "जुलाई", IF(F2=4, "अक्टूबर", "अमान्य तिमाही"))))
CHOOSE दृष्टिकोण:
=CHOOSE(F2, "जनवरी", "अप्रैल", "जुलाई", "अक्टूबर")
- CHOOSE एक स्थिति संख्या के आधार पर सूची से एक मान लौटाता है।
- IF के विपरीत, यह शर्तों का मूल्यांकन नहीं करता बल्कि इंडेक्स मान के आधार पर प्रदान की गई सूची से एक आइटम चुनता है।
हम CHOOSE का उपयोग तिमाही संख्या के आधार पर तिमाही बिक्री लक्ष्य असाइन करने के लिए भी कर सकते हैं:
=CHOOSE(F2, 50000, 75000, 60000, 90000)
यह तिमाही के अनुसार अलग-अलग बिक्री लक्ष्य असाइन करता है।
लाभ:
- 3+ विकल्प होने पर छोटा और स्पष्ट।
- तर्क त्रुटियों की कम संभावना।
- अपडेट या पुनः क्रमित करना आसान।
4. XLOOKUP - टेबल-आधारित निर्णय
जब मानों की रेंज या लुकअप टेबल के आधार पर निर्णय लेते हैं, तो लुकअप फ़ंक्शन नेस्टेड IF से अधिक शक्तिशाली होते हैं। XLOOKUP फ़ंक्शन एक मान खोजता है और दूसरे ऐरे से संबंधित परिणाम लौटाता है।
सिंटैक्स:
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
आइए उत्पाद श्रेणियों के आधार पर एक कमीशन संरचना बनाएं:
- इलेक्ट्रॉनिक्स: 5%
- फर्नीचर: 7%
- अन्य: 4%
IF दृष्टिकोण:
=IF(C2="इलेक्ट्रॉनिक्स", J2*0.05, IF(C2="फर्नीचर", J2*0.07, J2*0.04))
XLOOKUP दृष्टिकोण (आधुनिक एक्सेल):
=J2*XLOOKUP(C2, $P$2:$P$4, $Q$2:$Q$4, 0.04)
यह फ़ॉर्मूला श्रेणी और कमीशन दर के आधार पर ऑर्डर मूल्य को लुकअप करता है, फिर बिक्री कमीशन की गणना करता है।
लाभ:
- डेटा टेबल के साथ अच्छा काम करता है।
- लंबी सूचियों के साथ अधिक पठनीय।
- लचीला (डिफ़ॉल्ट फॉलबैक शामिल कर सकता है)।
5. AND()/OR() - एकाधिक शर्तों को संयोजित करना
जब कई शर्तें पूरी होनी चाहिए (AND) या कम से कम एक शर्त पूरी होनी चाहिए (OR), ये फ़ंक्शन आपके फ़ॉर्मूला को सरल बनाते हैं। AND फ़ंक्शन TRUE लौटाता है यदि सभी शर्तें सत्य हैं। OR फ़ंक्शन TRUE लौटाता है यदि कोई शर्त सत्य है।
सिंटैक्स:
=AND(logical1, [logical2], ...)
=OR(logical1, [logical2], ...)
आइए ऑर्डर को "प्राथमिकता" के रूप में फ़्लैग करें यदि:
- वे इलेक्ट्रॉनिक्स ऑर्डर हैं, AND
- ऑर्डर मूल्य $5,000 से अधिक है, AND
- स्थिति प्रोसेसिंग है।
IF दृष्टिकोण:
=IF(C2="इलेक्ट्रॉनिक्स", IF(J2>5000, IF(K2="प्रोसेसिंग", "प्राथमिकता", "सामान्य"), "सामान्य"), "सामान्य")
AND दृष्टिकोण:
=IF(AND(C2="इलेक्ट्रॉनिक्स", J2>5000, K2="प्रोसेसिंग"), "प्राथमिकता", "सामान्य")
यह फ़ॉर्मूला श्रेणी और स्थिति के आधार पर प्राथमिकता लौटाता है। दोनों शर्तें TRUE होनी चाहिए।
आइए उन ऑर्डर की पहचान करें जो अतिरिक्त छूट के लिए पात्र हैं यदि:
- वे पश्चिम क्षेत्र से हैं, OR
- ऑर्डर 10 से अधिक इकाइयों के लिए है, OR
- वर्तमान छूट 0% है।
OR दृष्टिकोण:
=IF(OR(E2="पश्चिम", G2>10, I2=0), "छूट के लिए पात्र", "पात्र नहीं")
यह दृष्टिकोण तर्क को स्पष्ट और बनाए रखने में आसान बनाता है, खासकर जब शर्तें अधिक जटिल हो जाती हैं।
लाभ:
- क्लीनर तर्क अभिव्यक्ति।
- शर्तों को संशोधित करना आसान।
- IF, FILTER, आदि के अंदर अच्छा काम करता है।
6. MIN()/MAX() - रेंज प्रतिबंध सरल करें
दो संख्याओं की तुलना करते समय, MIN/MAX सशर्त शाखाओं की आवश्यकता को हटा देता है। MIN फ़ंक्शन चयनित रेंज से सबसे छोटा मान लौटाता है। MAX फ़ंक्शन चयनित रेंज से सबसे बड़ी संख्या लौटाता है।
सिंटैक्स:
=MIN(number1, [number2], ...)
=MAX(number1, [number2], ...)
आइए एक नीति लागू करें जहां:
- किसी भी उत्पाद के लिए न्यूनतम ऑर्डर मात्रा 5 इकाई है।
- किसी भी उत्पाद के लिए अधिकतम ऑर्डर मात्रा 20 इकाई है।
- इन सीमाओं से बाहर के ऑर्डर को समायोजित करने की आवश्यकता है।
IF दृष्टिकोण:
=IF(G2<5, 5, IF(G2>20, 20, G2))
MIN/MAX दृष्टिकोण:
=MAX(5, MIN(20, G2))
यह फ़ॉर्मूला मान को 5 और 20 के बीच सुनिश्चित करता है, नेस्टेड IF स्टेटमेंट की आवश्यकता के बिना।
आइए एक छूट नीति लागू करें जहां:
- ऑर्डर पर एक नियमित छूट प्रतिशत लागू होता है।
- अधिकतम छूट $1,500 से अधिक नहीं हो सकती, प्रतिशत की परवाह किए बिना।
- अंतिम मूल्य $500 से नीचे नहीं जा सकता।
इन प्रतिबंधों को लागू करने के बाद अंतिम मूल्य की गणना करें:
IF दृष्टिकोण:
=IF(J2-((J2*I2)/100)<500, 500, IF((J2*I2)/100>1500, J2-1500, J2-((J2*I2)/100)))
MIN/MAX दृष्टिकोण:
=MAX(500, J2-MIN(1500, J2*I2/100))
यह दृष्टिकोण नेस्टेड IF स्टेटमेंट की तुलना में अधिक उपयोगकर्ता-अनुकूल और समझने में आसान है।
लाभ:
- संक्षिप्त और विश्वसनीय।
- कैप, फ्लोर, और मूल्य निर्धारण तर्क के लिए आदर्श।
7. FILTER() - डायनामिक सशर्त परिणाम (एक्सेल 365+)
FILTER एक शक्तिशाली फ़ंक्शन है जो निर्दिष्ट मानदंडों को पूरा करके मान लौटाता है, प्रभावी रूप से उन जटिल IF स्टेटमेंट को बदलता है जो कई शर्तों की जांच करते हैं।
सिंटैक्स:
=FILTER(array, include, [if_empty])
आइए अपने बिक्री डेटा से डायनामिक रिपोर्ट बनाएं। $5,000 से अधिक के सभी इलेक्ट्रॉनिक्स ऑर्डर खोजें।
IF दृष्टिकोण (एकल पंक्ति के लिए):
=IF(AND(C2="इलेक्ट्रॉनिक्स", J2>5000), B2, "")
इसे हर पंक्ति के लिए नीचे कॉपी करने की आवश्यकता होगी, जिससे खंडित परिणाम बनते हैं।
FILTER दृष्टिकोण:
=FILTER(B2:B13, (C2:C13="इलेक्ट्रॉनिक्स")*(J2:J13>5000), "कोई मिलान करने वाला उत्पाद नहीं")
यह फ़ॉर्मूला इलेक्ट्रॉनिक्स श्रेणी से उत्पादों को फ़िल्टर करता है...
FILTER फ़ंक्शन कई शर्तों को संयोजित कर सकता है और सभी मिलान रिकॉर्ड लौटा सकता है, जो इसे जटिल IF तर्क के बिना डायनामिक, शर्त-आधारित रिपोर्ट बनाने के लिए आदर्श बनाता है। यह डेटा विश्लेषण कार्यों के लिए विशेष रूप से शक्तिशाली है जहां आपको कई मानदंडों के आधार पर डेटा फ़िल्टर और प्रस्तुत करने की आवश्यकता होती है।
निष्कर्ष
IF स्टेटमेंट लचीले हैं, वे हमेशा सबसे कुशल समाधान नहीं होते। अन्य एक्सेल फ़ंक्शन हैं जो IF फ़ंक्शन की सीमाओं को दूर कर सकते हैं। इन IF स्टेटमेंट विकल्पों में महारत हासिल करके, आप क्लीनर, अधिक रखरखाव योग्य एक्सेल फ़ॉर्मूला लिख सकते हैं। प्रत्येक फ़ंक्शन की विशिष्ट परिदृश्यों के लिए ताकत होती है, और सही चुनाव आपके स्प्रेडशीट की पठनीयता और प्रदर्शन को नाटकीय रूप से सुधार सकता है।