एक्सेल सूत्र: जटिल कई मानदंडों के साथ XLOOKUP -

विषय - सूची

सारांश

कई जटिल मानदंडों के आधार पर डेटा देखने के लिए, आप बूलियन लॉजिक के आधार पर कई भावों के साथ XLOOKUP फ़ंक्शन का उपयोग कर सकते हैं। दिखाए गए उदाहरण में, G5 में सूत्र है:

=XLOOKUP(1,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4),B5:E16)

मैच मोड (सटीक) और खोज मोड (पहली से आखिरी) के लिए XLOOKUP की डिफ़ॉल्ट सेटिंग्स के साथ सूत्र पहले रिकॉर्ड से मेल खाता है जहां:

खाता "x" से शुरू होता है और क्षेत्र "पूर्व" है, और महीना अप्रैल नहीं है।

दिखाए गए उदाहरण में चौथा रिकॉर्ड (पंक्ति 8) है।

स्पष्टीकरण

आम तौर पर, वर्कशीट पर मौजूद लुकअप ऐरे में वैल्यू देखने के लिए XLOOKUP फ़ंक्शन को कॉन्फ़िगर किया जाता है। हालाँकि, जब मान का मिलान करने के लिए उपयोग किए जाने वाले मानदंड अधिक जटिल हो जाते हैं, तो आप केवल 1s और 0s से बनी मक्खी पर एक लुकअप ऐरे बनाने के लिए बूलियन लॉजिक का उपयोग कर सकते हैं, फिर मान 1 देखें। यह इस उदाहरण में प्रयुक्त दृष्टिकोण है:

=XLOOKUP(1,boolean_array,result_array)

इस उदाहरण में, आवश्यक मानदंड हैं:

खाता "x" से शुरू होता है और क्षेत्र "पूर्व" है, और महीना अप्रैल नहीं है।

उपरोक्त तीन अलग-अलग मानदंडों में से प्रत्येक के लिए, हम एक अलग तार्किक अभिव्यक्ति का उपयोग करते हैं। यदि खाता "x" से शुरू होता है, तो पहली अभिव्यक्ति LEFT फ़ंक्शन का परीक्षण करती है:

LEFT(B5:B16)="x" // account begins with "x"

क्योंकि हम बारह मानों की जाँच कर रहे हैं, परिणाम इस प्रकार बारह मानों के साथ एक सरणी है:

(TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE)

यदि क्षेत्र (=) ऑपरेटर के बराबर का उपयोग करके क्षेत्र "पूर्व" है तो दूसरी अभिव्यक्ति परीक्षण:

C5:C16="east" // region is east

पहले की तरह, हमें बारह TRAL FALSE मूल्यों के साथ एक और सरणी मिलती है:

(FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE)

तीसरी अभिव्यक्ति को अप्रैल के महीने को बाहर करने की आवश्यकता है। ऐसा करने का सबसे आसान तरीका यह है कि अप्रैल के महीने के लिए सीधे MONTH फ़ंक्शन के साथ परीक्षण करें:

MONTH(D5:D16)=4 // month is April

फिर परिणाम को उलटने के लिए NOT फ़ंक्शन का उपयोग करें:

NOT(MONTH(D5:D16)=4) // month is not April

जो "अप्रैल नहीं" का सही वर्णन करते हुए एक सरणी बनाता है:

(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)

इसके बाद, सभी तीन सरणियों को एक साथ गुणा किया जाता है, और गणित ऑपरेशन 1s और 0s के लिए TRUE और FALSE मूल्यों को समेटता है:

(1;0;1;1;1;0;0;0;1;1;0;1)* (0;0;1;1;1;0;1;0;0;1;0;1)* (0;0;0;1;1;1;1;1;1;1;1;1)

बूलियन अंकगणित में, गुणन तार्किक कार्य की तरह कार्य करता है और इसलिए अंतिम परिणाम इस तरह से एक एकल सरणी है:

(0;0;0;1;1;0;0;0;0;1;0;1)

सूत्र अब इस तरह से फिर से लिखा जा सकता है:

=XLOOKUP(1,(0;0;0;1;1;0;0;0;0;1;0;1),B5:E16)

1 के साथ एक लुकअप वैल्यू के रूप में, और मैच मोड (सटीक) और खोज मोड (पहले से आखिरी) के लिए डिफ़ॉल्ट सेटिंग्स, XLOOKUP पहले 1 (चौथे स्थान) से मेल खाता है और परिणाम सरणी में संबंधित पंक्ति देता है, जो B8: E8 है।

आखरी मुकाबला

वैकल्पिक खोज मोड तर्क को -1 पर सेट करके, आप "अंतिम मैच" का पता उसी तरह के मानदंड के साथ लगा सकते हैं:

=XLOOKUP(1,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4),B5:E16,,,-1)

दिलचस्प लेख...