क्या एक ही कॉलम में दो सेटों के लिए अंतिम भरी हुई संख्या को खोजने के लिए Microsoft Excel में इंडेक्स और मैच या कुछ समान का उपयोग करना संभव है?


3

नमूना तालिका छवि:

enter image description here

उद्देश्य: सैंपल टेबल इमेज में, मैं कॉलम सी, आखिरी आबादी वाले सीएसटी नंबर को 1235 के रूप में निकालना चाहता हूं और 204 में अंतिम आबादी वाले नंबर पर जाएं।

अगर मैं = VLOOKUP ("CST", B2: C5,2, FALSE) का उपयोग करता हूं, तो यह पहला CST मान लौटाता है, यानी 1234। जैसे कि VLOOKUP रिटर्न 203 का उपयोग करके VAT के लिए बुद्धिमान

यदि मैं मैच की कोशिश करता हूं, तो सीएसटी के लिए ठीक काम करता है, लेकिन वैट के लिए एक छोटा लुकअप_वल्यू के साथ एक सूत्र कहता है 250 (चूंकि वैट मान 250 से नीचे हैं) परिणाम के रूप में # एन / ए देता है।

स्क्रीनशॉट (एक ही कॉलम पर विभिन्न लुकिंग_वल्यू के साथ MATCH का उपयोग करके):

enter image description here

जवाबों:


1

कुछ इस तरह से मैं MATCH के लिए AGGREGATE पसंद करता हूँ:

=INDEX($B:$B,AGGREGATE(14,6,ROW($A$2:INDEX($A:$A,MATCH("ZZZ",$A:$A)))/($A$2:INDEX($A:$A,MATCH("ZZZ",$A:$A))=D$1),1))

मैंने D1 और D2 में वास्तविक मापदंड रखे ताकि मैं उन्हें सीधे संदर्भित कर सकूं और हार्ड कोड नहीं "CST" तथा "VAT" सूत्र में, इसे खींचने योग्य बनाते हैं।

दो $A$2:INDEX($A:$A,MATCH("ZZZ",$A:$A)) डायनामिक रूप से संदर्भ रेंज सेट करें क्योंकि यह एक सरणी प्रकार सूत्र है। यह A2 से अंतिम सेल के कॉलम A में सेट है जिसमें टेक्स्ट स्ट्रिंग है।

एग्रीगेट सबसे बड़ी पंक्ति संख्या (अंतिम पंक्ति) लौटाएगा जो INDEX के मानदंडों से मेल खाती है।

enter image description here


0

आप इसके साथ कर सकते हैं LOOKUP

LOOKUP कब lookup_value सरणी में किसी भी संख्या से बड़ा है, फ़ंक्शन सरणी में अंतिम संख्या देता है; 1/(1/(...)) निर्माण धर्मान्तरित 0 त्रुटियों में है, इसलिए अंतिम "संख्या" अंतिम के समान स्थिति में मूल्य होगा CST या VAT सूत्र पर निर्भर करता है।

Last CST:  =LOOKUP(9E+307,1/(1/(($B$2:$B$999="CST")*$C$2:$C$999)))
Last VAT:  =LOOKUP(9E+307,1/(1/(($B$2:$B$999="VAT")*$C$2:$C$999)))

उपरोक्त सूत्र मानते हैं कि चालान संख्या हमेशा एक संख्या नहीं होती है, यदि यह एक स्ट्रिंग हो सकती है, तो सूत्र को कुछ संशोधन की आवश्यकता होगी।

Last CST:  =LOOKUP(2,1/(($B$2:$B$999="CST")*ROW($B$2:$B$999)),$C$2:$C$999)
Last VAT:  =LOOKUP(2,1/(($B$2:$B$999="VAT")*ROW($B$2:$B$999)),$C$2:$C$999)

0

ऊर्ध्वाधर देखने के लिए VLOOKUP का उपयोग करें। दूसरा तर्क एक मैट्रिक्स है। यदि पंक्तियों में कोई सीमा नहीं है, तो पंक्ति संख्याओं को निर्दिष्ट न करें, बस कॉलम अक्षर। तीसरा तर्क बताता है कि किस कॉलम का उपयोग करना है। 2 का मतलब होता है दूसरा, यानी आपके मैट्रिक्स में C।

डिफ़ॉल्ट रूप से, फ़ंक्शन पहली खोज पर नहीं रुकता है; यह अधिक घटनाओं को खोजने के लिए आगे बढ़ता है, अंततः बॉटलमॉस्ट प्रविष्टि (आमतौर पर सबसे नया) होने के परिणामस्वरूप, बिल्कुल वांछित।

इसलिए उपयोग करें

=VLOOKUP("CST", B:C, 2)

तथा

=VLOOKUP("VAT", B:C, 2)

ध्यान दें, कि क्षैतिज देखने के लिए HLOOKUP भी है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.