एक्सेल सूत्र: पहले मैच सेल प्राप्त करें -

विषय - सूची

सामान्य सूत्र

(=INDEX(things,MATCH(TRUE,ISNUMBER(SEARCH(things,A1)),0)))

सारांश

कई चीजों में से एक के लिए एक सेल की जांच करने के लिए, और सूची में पाए गए पहले मैच को वापस करने के लिए, आप एक INDEX / MATCH फॉर्मूला का उपयोग कर सकते हैं जो मैच खोजने के लिए SEARCH या FIND का उपयोग करता है। दिखाए गए उदाहरण में, C5 में सूत्र है:

(=INDEX(things,MATCH(TRUE,ISNUMBER(SEARCH(things,B5)),0)))

जहाँ "चीजें" नाम की श्रेणी E5: E9 है।

नोट: यह एक सरणी सूत्र है और इसे Control + Shift + Enter के साथ दर्ज किया जाना चाहिए।

स्पष्टीकरण

इस उदाहरण में, हमारे पास "नाम" (E5: E9) नामक एक श्रेणी में रंगों की एक सूची है। हम कॉलम बी में टेक्स्ट को यह देखना चाहते हैं कि उसमें इनमें से कोई भी रंग है या नहीं। यदि हां, तो हम पाया गया पहला रंग का नाम वापस करना चाहते हैं।

अंदर से बाहर काम करते हुए, यह सूत्र इस तरह से "चीजों" में सूचीबद्ध प्रत्येक रंग के लिए B5 में पाठ की खोज करने के लिए ISNUMBER फ़ंक्शन और SEARCH फ़ंक्शन का उपयोग करता है:

ISNUMBER(SEARCH(things,B5)

यह अभिव्यक्ति एक सूत्र पर आधारित है (यहां विस्तार से बताया गया है) जो किसी एकल सबस्ट्रिंग के लिए एक सेल की जांच करता है। यदि कक्ष में सबस्ट्रिंग है, तो अभिव्यक्ति TRUE देता है। यदि नहीं, तो अभिव्यक्ति FALSE देता है।

जब हम इस खोज को चीजों की एक सूची देते हैं (एक चीज़ के बजाय) हमें परिणामों की एक सरणी वापस दे देंगे। पाया गया प्रत्येक रंग एक संख्यात्मक स्थिति उत्पन्न करेगा, और नहीं मिला रंग एक त्रुटि उत्पन्न करेगा:

(#VALUE!;#VALUE!;20;#VALUE!;#VALUE!)

ISNUMBER फ़ंक्शन परिणाम को TRUE / FALSE मानों में परिवर्तित करता है। कोई भी संख्या TRUE हो जाती है, और कोई भी त्रुटि (नहीं मिली) FALSE हो जाती है। परिणाम इस तरह एक सरणी है:

(FALSE;FALSE;TRUE;FALSE;FALSE)

यह सरणी सरणी तर्क के रूप में MATCH फ़ंक्शन पर वापस आ जाती है। लुक अप मान TRUE है और सटीक मिलान के लिए मैच प्रकार शून्य पर सेट है। जब एक मिलान रंग होता है, तो MATCH उस स्थिति को लौटाता है जो पहले TRUE को मिली थी। यह मान पंक्ति के रूप में प्रदान की गई "श्रेणी" नामांकित पंक्ति के साथ INDEX फ़ंक्शन में दिया गया है। जब कम से कम एक मैच होता है, तो INDEX उस स्थिति में रंग लौटाता है। जब कोई मिलान नहीं मिलता है, तो यह सूत्र # N / A त्रुटि देता है।

हार्ड-कोडित मूल्यों के साथ

यदि आप इस उदाहरण में "नाम" जैसी बाहरी नाम सीमा निर्धारित नहीं करना चाहते हैं, तो आप इस तरह से "सरणी स्थिरांक" के रूप में सूत्र में हार्ड-कोड मान दे सकते हैं:

(=INDEX(("red","green","blue"),MATCH(TRUE,ISNUMBER(SEARCH(("red","green","blue"),B5)),0)))

सेल में पहला मैच प्राप्त करें

यहां की भाषा काफी भ्रामक है, लेकिन ऊपर दिया गया फॉर्मूला देखने के लिए चीजों की सूची में पाया गया पहला मैच लौटाएगा। यदि इसके बजाय आप सेल में पाए जाने वाले पहले मैच का परीक्षण करना चाहते हैं, तो आप इस तरह एक फार्मूला आज़मा सकते हैं:

=INDEX(things,MATCH(AGGREGATE(15,6,SEARCH(things,A1),1),SEARCH(things,A1),0))

सूत्र के इस संस्करण में, इस स्निपेट के परिणाम को देखने के लिए MATCH फ़ंक्शन सेट किया गया है:

AGGREGATE(15,6,SEARCH(things,A1),1) // get min value

जो SEARCH द्वारा लौटाए गए परिणामों में न्यूनतम मूल्य प्राप्त करने के लिए AGGREGATE फ़ंक्शन का उपयोग करता है। हमें यहां AGGREGATE की आवश्यकता है, क्योंकि आने वाली सरणी संभावना में त्रुटियां होंगी (खोजे जाने पर SEARCH द्वारा लौटाई गई चीजें), और हमें एक फ़ंक्शन की आवश्यकता है जो उन त्रुटियों को अनदेखा करेगा और फिर भी हमें न्यूनतम संख्यात्मक मान देगा।

AGGREGATE से परिणाम सीधे MATCH में लुकअप वैल्यू के रूप में वापस आ जाता है, साथ में SEARCH द्वारा लौटाए गए एक ही सरणी के साथ। अंतिम परिणाम सेल में पाया गया पहला मैच है, चीजों की सूची में पाया गया पहला मैच नहीं है।

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