उदाहरण के साथ एक्सेल में कई शीट्स में VLOOKUP

  • इसे साझा करें
Michael Brown

ट्यूटोरियल दिखाता है कि किसी अन्य वर्कशीट या वर्कबुक से डेटा कॉपी करने के लिए VLOOKUP फ़ंक्शन का उपयोग कैसे करें, कई शीट्स में Vlookup, और अलग-अलग शीट्स से अलग-अलग सेल में मान वापस करने के लिए गतिशील रूप से देखें।

एक्सेल में कुछ जानकारी देखते समय, यह एक दुर्लभ मामला है जब सभी डेटा एक ही शीट पर हों। अधिक बार, आपको कई शीट या अलग-अलग कार्यपुस्तिकाओं में खोजना होगा। अच्छी खबर यह है कि माइक्रोसॉफ्ट एक्सेल ऐसा करने के लिए एक से अधिक तरीके प्रदान करता है, और बुरी खबर यह है कि सभी तरीके मानक VLOOKUP सूत्र से थोड़ा अधिक जटिल हैं। लेकिन थोड़े से धैर्य के साथ, हम उनका पता लगा लेंगे :)

    दो शीट के बीच VLOOKUP कैसे करें

    शुरुआत करने वालों के लिए, आइए सबसे सरल मामले की जाँच करें - VLOOKUP का उपयोग करके किसी अन्य वर्कशीट से डेटा कॉपी करें। यह एक नियमित VLOOKUP सूत्र के समान है जो समान कार्यपत्रक पर खोज करता है। अंतर यह है कि आप table_array आर्गुमेंट में शीट का नाम शामिल करते हैं ताकि आप अपने फॉर्मूले को बता सकें कि लुकअप रेंज किस वर्कशीट में स्थित है।

    अन्य शीट से VLOOKUP का सामान्य फॉर्मूला इस प्रकार है:

    VLOOKUP(lookup_value, Sheet!range, col_index_num, [range_lookup])

    उदाहरण के तौर पर, आइए जनवरी रिपोर्ट से सारांश<तक बिक्री के आंकड़े खींचते हैं। 2> पत्रक। इसके लिए, हम निम्नलिखित तर्कों को परिभाषित करते हैं:

    • Lookup_values सारांश शीट पर कॉलम ए में हैं, और हमVLOOKUP:

      VLOOKUP($A2, 'West'!$A$2:$C$6 , 2, FALSE)

      आखिरकार, यह बहुत ही मानक VLOOKUP सूत्र पश्चिम शीट पर श्रेणी A2:C6 के पहले कॉलम में A2 मान की खोज करता है और एक देता है दूसरे कॉलम से मिलान करें। बस!

      डायनेमिक VLOOKUP डेटा को कई शीट से अलग-अलग सेल में लौटाने के लिए

      सबसे पहले, आइए परिभाषित करें कि इस संदर्भ में "डायनामिक" शब्द का वास्तव में क्या अर्थ है और यह सूत्र कैसा होने जा रहा है पिछले वाले से भिन्न।

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

      पिछले फ़ार्मुलों के विपरीत, जो एक विशिष्ट पहचानकर्ता के आधार पर एक विशिष्ट शीट से एक मान प्राप्त करते थे, इस बार हम एक ही समय में कई शीट से मान निकालने की कोशिश कर रहे हैं। समय।

      इस कार्य के लिए दो अलग-अलग समाधान हैं। दोनों ही मामलों में, आपको थोड़ा प्रारंभिक कार्य करने और प्रत्येक लुकअप शीट में डेटा सेल के लिए नामित श्रेणी बनाने की आवश्यकता है। इस उदाहरण के लिए, हमने निम्न श्रेणियों को परिभाषित किया है:

      • East_Sales - A2:B6 पूर्व शीट पर
      • North_Sales - A2: उत्तरी शीट पर B6
      • साउथ_सेल्स - A2:B6 साउथ शीट पर
      • West_Sales - A2:B6 वेस्ट शीट पर

      VLOOKUP और नेस्टेड IFs

      यदि आपके पास देखने के लिए उचित संख्या में शीट हैं, तो आप नेस्टेड IF फ़ंक्शन का उपयोग कर सकते हैंपूर्वनिर्धारित सेल (हमारे मामले में सेल B1 से D1 तक) में कीवर्ड के आधार पर शीट का चयन करने के लिए।

      A2 में लुकअप मान के साथ, सूत्र इस प्रकार है:

      =VLOOKUP($A2, IF(B$1="east", East_Sales, IF(B$1="north", North_Sales, IF(B$1="south", South_Sales, IF(B$1="west", West_Sales)))), 2, FALSE)

      अंग्रेज़ी में अनुवादित, IF का भाग इस प्रकार है:

      यदि B1 पूर्व है, तो East_Sales नामक श्रेणी में देखें; यदि B1 उत्तर है, तो North_Sales नामक श्रेणी में देखें; यदि B1 दक्षिण है, तो South_Sales नाम की श्रेणी में देखें; और यदि B1 पश्चिम है, तो West_Sales नाम की श्रेणी में देखें।

      IF द्वारा लौटाई गई सीमा VLOOKUP के table_array में जाती है, जो संबंधित शीट पर दूसरे कॉलम से एक मिलान मूल्य।

      लुकअप वैल्यू के लिए मिश्रित संदर्भों का चतुर उपयोग ($A2 - निरपेक्ष स्तंभ और सापेक्ष पंक्ति) और IF (B$1 - सापेक्ष स्तंभ) का तार्किक परीक्षण और निरपेक्ष पंक्ति) बिना किसी बदलाव के सूत्र को अन्य कक्षों में कॉपी करने की अनुमति देता है - एक्सेल एक पंक्ति और स्तंभ की सापेक्ष स्थिति के आधार पर स्वचालित रूप से संदर्भों को समायोजित करता है।

      इसलिए, हम B2 में सूत्र दर्ज करते हैं, इसे सही कॉपी करते हैं और आवश्यकतानुसार कई कॉलम और पंक्तियों तक नीचे, और निम्न परिणाम प्राप्त करें:

      अप्रत्यक्ष वीलुकअप

      कई शीट के साथ काम करते समय, कई नेस्टेड स्तर सूत्र भी बना सकते हैं लंबा और पढ़ने में कठिन। INDIRECT:

      =VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)

      यहां, हम उस सेल के संदर्भ को जोड़ते हैं जिसमें एकनामित श्रेणी (B1) का अद्वितीय भाग और सामान्य भाग (_Sales)। यह "ईस्ट_सेल्स" जैसी टेक्स्ट स्ट्रिंग उत्पन्न करता है, जो अप्रत्यक्ष रूप से एक्सेल द्वारा समझ में आने वाली श्रेणी के नाम में परिवर्तित हो जाती है।

      एक्सेल में शीट्स और फाइलों के बीच Vlookup इसी तरह किया जाता है। पढ़ने के लिए मैं आपको धन्यवाद देता हूं और आशा करता हूं कि अगले सप्ताह आप हमारे ब्लॉग पर मिलेंगे!

      डाउनलोड के लिए अभ्यास कार्यपुस्तिका

      Vlookup कई शीट उदाहरण (.xlsx फ़ाइल)

      पहले डेटा सेल का संदर्भ लें, जो कि A2 है।
    • Table_array जनवरी शीट पर A2:B6 श्रेणी है। इसे संदर्भित करने के लिए, विस्मयादिबोधक चिह्न के बाद शीट नाम के साथ श्रेणी संदर्भ को उपसर्ग करें: Jan!$A$2:$B$6।

      कृपया ध्यान दें कि हम रेंज को निरपेक्ष सेल संदर्भों के साथ लॉक कर देते हैं ताकि अन्य सेल में सूत्र की प्रतिलिपि बनाते समय इसे बदलने से रोका जा सके।

      Col_index_num 2 है क्योंकि हम एक मान की प्रतिलिपि बनाना चाहते हैं कॉलम बी से, जो तालिका सरणी में दूसरा कॉलम है।

    • रेंज_लुकअप एक सटीक मिलान देखने के लिए FALSE पर सेट है।

    तर्कों को एक साथ रखने पर, हमें यह सूत्र मिलता है:

    =VLOOKUP(A2, Jan!$A$2:$B$6, 2, FALSE)

    सूत्र को कॉलम के नीचे खींचें और आपको यह परिणाम मिलेगा:

    एक में इसी तरह, आप फ़रवरी और मार्च शीट से डेटा देख सकते हैं:

    =VLOOKUP(A2, Feb!$A$2:$B$6, 2, FALSE)

    =VLOOKUP(A2, Mar!$A$2:$B$6, 2, FALSE)

    टिप्स और नोट्स:

    • यदि शीट के नाम में रिक्त स्थान या गैर-वर्णानुक्रमिक वर्ण हैं, तो इसे एकल उद्धरण चिह्नों में संलग्न किया जाना चाहिए, जैसे 'जन सेल्स'!$A$2:$B$6 । अधिक जानकारी के लिए, कृपया देखें कि एक्सेल में किसी अन्य शीट को कैसे संदर्भित किया जाए। एक्सेल स्वचालित रूप से सही सिंटैक्स के साथ एक संदर्भ सम्मिलित करेगा, जिससे आपको नाम की जाँच करने और समस्या निवारण करने में परेशानी होगी।

    एक अलग कार्यपुस्तिका से Vlookup

    दो के बीच VLOOKUP के लिएकार्यपुस्तिकाएँ, वर्गाकार कोष्ठकों में फ़ाइल का नाम, उसके बाद शीट का नाम और विस्मयादिबोधक बिंदु शामिल करें। Sales_reports.xlsx कार्यपुस्तिका, इस सूत्र का उपयोग करें:

    =VLOOKUP(A2, [Sales_reports.xlsx]Jan!$A$2:$B$6, 2, FALSE)

    पूर्ण विवरण के लिए, कृपया Excel में किसी अन्य कार्यपुस्तिका से VLOOKUP देखें।

    पूरे में Vlookup IFERROR के साथ एकाधिक पत्रक

    जब आपको दो से अधिक पत्रकों के बीच देखने की आवश्यकता हो, तो सबसे आसान समाधान IFERROR के संयोजन में VLOOKUP का उपयोग करना है। कई कार्यपत्रकों को एक-एक करके जांचने के लिए कई IFERROR फ़ंक्शंस को नेस्ट करने का विचार है: यदि पहले VLOOKUP को पहली शीट पर कोई मेल नहीं मिलता है, तो अगली शीट में खोजें, और इसी तरह।

    IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), …, " नहीं मिला "))

    यह देखने के लिए कि यह दृष्टिकोण वास्तविक जीवन डेटा पर कैसे काम करता है, आइए निम्नलिखित उदाहरण पर विचार करें। नीचे सारांश तालिका है जिसे हम पश्चिम और पूर्व शीट्स में क्रम संख्या को देखकर आइटम के नाम और मात्रा के साथ पॉप्युलेट करना चाहते हैं:

    पहले, हम आइटम्स को निकालने जा रहे हैं। इसके लिए, हम VLOOKUP सूत्र को निर्देश देते हैं कि पूर्व शीट पर A2 में क्रम संख्या की खोज करें और स्तंभ B से मान लौटाएं ( तालिका_सरणी A2:C6 में दूसरा स्तंभ)। यदि सटीक मिलान नहीं मिलता है, तो पश्चिम शीट में खोजें। यदि दोनों Vlookup विफल हो जाते हैं, तो रिटर्न "नहीं मिला"।

    =IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 2, FALSE), "Not found"))

    राशि वापस करने के लिए,बस कॉलम इंडेक्स नंबर को 3 में बदलें:

    =IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 3, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 3, FALSE), "Not found"))

    युक्ति। यदि आवश्यक हो, तो आप विभिन्न VLOOKUP कार्यों के लिए भिन्न तालिका सरणियाँ निर्दिष्ट कर सकते हैं। इस उदाहरण में, दोनों लुकअप शीट में पंक्तियों की संख्या समान है (A2:C6), लेकिन आपकी वर्कशीट आकार में भिन्न हो सकती हैं।

    एकाधिक कार्यपुस्तिकाओं में Vlookup

    दो या दो से अधिक कार्यपुस्तिकाओं के बीच Vlookup करने के लिए, कार्यपुस्तिका का नाम वर्गाकार कोष्ठकों में संलग्न करें और इसे शीट के नाम से पहले रखें। उदाहरण के लिए, यहां बताया गया है कि कैसे आप दो अलग-अलग फाइलों ( Book1 और Book2 ) को एक ही फॉर्मूले से Vlookup कर सकते हैं:

    =IFERROR(VLOOKUP(A2, [Book1.xlsx]East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, [Book2.xlsx]West!$A$2:$C$6, 2, FALSE),"Not found"))

    Vlookup कई कॉलमों के लिए कॉलम इंडेक्स नंबर डायनामिक बनाएं

    ऐसी स्थिति में जब आपको कई कॉलमों से डेटा वापस करने की आवश्यकता हो, col_index_num डायनेमिक बनाने से आपका कुछ समय बच सकता है। कुछ समायोजन किए जाने हैं:

    • col_index_num तर्क के लिए, COLUMNS फ़ंक्शन का उपयोग करें जो निर्दिष्ट सरणी में स्तंभों की संख्या लौटाता है: COLUMNS($A$1) : बी$1). (पंक्ति निर्देशांक वास्तव में मायने नहीं रखता है, यह सिर्फ कोई भी पंक्ति हो सकती है।)
    • lookup_value तर्क में, कॉलम संदर्भ को $ चिन्ह ($A2) के साथ लॉक करें, इसलिए यह बना रहता है सूत्र को अन्य स्तंभों में कॉपी करते समय तय किया गया।

    परिणामस्वरूप, आपको एक प्रकार का गतिशील सूत्र मिलता है, जो विभिन्न स्तंभों से मेल खाने वाले मानों को निकालता है, इस पर निर्भर करता है कि सूत्र किस स्तंभ पर कॉपी किया गया है:

    =IFERROR(VLOOKUP($A2, East!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), IFERROR(VLOOKUP($A2, West!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), "Not found"))

    जब कॉलम B, COLUMNS($A$1:B$1) में दर्ज किया जाता हैतालिका सरणी में दूसरे कॉलम से मान वापस करने के लिए VLOOKUP को 2 का मूल्यांकन करता है।

    जब कॉलम C में कॉपी किया जाता है (यानी आपने सूत्र को B2 से C2 तक खींच लिया है), B$1 C$1 में बदल जाता है क्योंकि स्तंभ संदर्भ सापेक्ष है। नतीजतन, COLUMNS($A$1:C$1) 3 का मूल्यांकन करता है जिससे VLOOKUP को तीसरे कॉलम से मान वापस करने के लिए मजबूर होना पड़ता है।

    यह सूत्र 2 - 3 लुकअप शीट के लिए बहुत अच्छा काम करता है। यदि आपके पास अधिक हैं, तो दोहराए जाने वाले IFERROR बहुत बोझिल हो जाते हैं। अगला उदाहरण थोड़ा और अधिक जटिल लेकिन बहुत अधिक सुरुचिपूर्ण दृष्टिकोण प्रदर्शित करता है। अप्रत्यक्ष कार्य। इस विधि के लिए थोड़ी तैयारी की आवश्यकता होती है, लेकिन अंत में, आपके पास कितनी भी स्प्रेडशीट में Vlookup का एक अधिक संक्षिप्त सूत्र होगा।

    शीट्स में Vlookup का एक सामान्य सूत्र इस प्रकार है:

    VLOOKUP( lookup_value , INDIRECT("'"&INDEX( Lookup_sheets , MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & " '! lookup_range "), lookup_value )>0), 0)) & "'! table_array "), col_index_num , FALSE)

    कहाँ:

    • Lookup_sheets - लुकअप शीट नामों से मिलकर एक नामित श्रेणी।
    • Lookup_value - the मूल्य खोजने के लिए।value.
    • Table_array - लुकअप शीट्स में डेटा रेंज।
    • Col_index_num - टेबल ऐरे में कॉलम की संख्या जहां से मान लौटाएं।

    फ़ॉर्मूला सही तरीके से काम करे, इसके लिए कृपया निम्नलिखित चेतावनियों को ध्यान में रखें:

    • यह एक सरणी फ़ॉर्मूला है, जिसे Ctrl + दबाकर पूरा किया जाना चाहिए Shift + Enter कुंजी एक साथ।
    • सभी शीट में स्तंभों का समान क्रम होना चाहिए।
    • चूंकि हम सभी लुकअप शीट के लिए एक तालिका सरणी का उपयोग करते हैं, तो <12 निर्दिष्ट करें>सबसे बड़ी श्रेणी यदि आपकी शीट में पंक्तियों की संख्या अलग-अलग है।

    शीट्स में Vlookup करने के लिए सूत्र का उपयोग कैसे करें

    एक समय में कई शीटों को देखने के लिए, इन्हें करें कदम:

    1. सभी लुकअप शीट के नाम अपनी वर्कबुक में कहीं लिख लें और उस रेंज को नाम दें ( Lookup_sheets हमारे मामले में)।
    <0
  • अपने डेटा के लिए सामान्य फ़ॉर्मूला समायोजित करें। इस उदाहरण में, हम:
    • A2 मान ( lookup_value )
    • की श्रेणी A2:A6 ( lookup_range ) में खोज रहे होंगे चार वर्कशीट्स ( पूर्व , उत्तर , दक्षिण और पश्चिम ), और
    • कॉलम बी से मेल खाने वाले मान खींचें, जो डेटा रेंज A2:C6 ( table_array ) में कॉलम 2 ( col_index_num ) है।

    उपरोक्त तर्कों के साथ, सूत्र इस आकार को लेता है:

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)

    कृपया ध्यान दें कि हम दोनों श्रेणियों ($A$2:$A$6 और $A$2:$C$6) को पूर्ण सेल संदर्भों के साथ लॉक कर देते हैं।

  • दर्ज करें सूत्रसबसे ऊपरी सेल में (इस उदाहरण में B2) और इसे पूरा करने के लिए Ctrl + Shift + Enter दबाएं।
  • कॉलम के नीचे सूत्र को कॉपी करने के लिए भरण हैंडल पर डबल क्लिक करें या खींचें।
  • जैसा कि परिणामस्वरूप, हमारे पास 4 शीट्स में क्रम संख्या देखने और संबंधित आइटम को पुनः प्राप्त करने का सूत्र है। यदि कोई विशिष्ट आदेश संख्या नहीं मिलती है, तो पंक्ति 14 की तरह एक #N/A त्रुटि प्रदर्शित होती है:

    राशि लौटाने के लिए, बस 2 को col_index_num में 3 से बदलें तर्क के रूप में राशि तालिका सरणी के तीसरे कॉलम में हैं:

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE)

    यदि आप मानक #N/A त्रुटि संकेतन को अपने स्वयं के पाठ से बदलना चाहते हैं, तो रैप करें IFNA फ़ंक्शन में फ़ॉर्मूला:

    =IFNA(VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE), "Not found")

    वर्कबुक के बीच Vlookup मल्टीपल शीट

    यह सामान्य फ़ॉर्मूला (या इसकी कोई भिन्नता) का भी उपयोग किया जा सकता है एक विभिन्न कार्यपुस्तिका में कई शीटों को Vlookup करने के लिए। इसके लिए, कार्यपुस्तिका नाम को INDIRECT के अंदर समाप्‍त करें जैसा कि नीचे दिए गए सूत्र में दिखाया गया है:

    =IFNA(VLOOKUP($A2, INDIRECT("'[Book1.xlsx]" & INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'[Book1.xlsx]" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 2, FALSE), "Not found")

    शीट्स के बीच Vlookup और कई कॉलम लौटाएं

    यदि आप कई से डेटा खींचना चाहते हैं कॉलम, एक बहु-कक्ष सरणी सूत्र एक ही बार में ऐसा कर सकता है। ऐसा सूत्र बनाने के लिए, col_index_num तर्क के लिए एक सरणी स्थिरांक प्रदान करें।

    इस उदाहरण में, हम आइटम नाम (कॉलम बी) और मात्रा (कॉलम सी) वापस करना चाहते हैं, जो तालिका सरणी में क्रमशः दूसरे और तीसरे स्तंभ हैं। तो, आवश्यक सरणी है{2,3}।

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets &"'!$A$2:$C$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), {2,3}, FALSE)

    एक से अधिक सेल में सूत्र को सही ढंग से दर्ज करने के लिए, आपको यह करना होगा:

    • पहली पंक्ति में, भरे जाने वाले सभी कक्षों का चयन करें (हमारे उदाहरण में B2:C2)।
    • सूत्र टाइप करें और Ctrl + Shift + Enter दबाएं। यह चयनित सेल में समान सूत्र में प्रवेश करता है, जो प्रत्येक कॉलम में एक अलग मान लौटाएगा।
    • सूत्र को शेष पंक्तियों तक नीचे खींचें।

    यह सूत्र कैसे काम करता है

    तर्क को बेहतर ढंग से समझने के लिए, आइए इस मूल सूत्र को अलग-अलग कार्यों में विभाजित करें:

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)

    अंदरूनी तरीके से काम करते हुए, सूत्र यह करता है:

    COUNTIF और INDIRECT

    संक्षेप में, INDIRECT सभी लुकअप शीट के लिए संदर्भ बनाता है, और COUNTIF लुकअप की घटनाओं की गणना करता है प्रत्येक पत्रक में मान (A2):

    --(COUNTIF( INDIRECT("'"&Lookup_sheets&"'!$A$2:$A$6"), $A2)>0)

    अधिक विवरण में:

    सबसे पहले, आप श्रेणी नाम (लुकअप_शीट) और श्रेणी संदर्भ ($A$2) को जोड़ते हैं: $A$6), बाहरी संदर्भ बनाने के लिए सही स्थानों पर एपोस्ट्रोफ और विस्मयादिबोधक बिंदु जोड़ना, और परिणामी टेक्स्ट स्ट्रिंग को INDIRECT फ़ंक्शन में फ़ीड करके गतिशील रूप से लुकअप शीट को संदर्भित करना:

    INDIRECT({"'East'!$A$2:$A$6"; "'South'!$A$2:$A$6"; "'North'!$A$2:$A$6"; "'West'!$A$2:$A$6"})

    COUNTIF मुख्य पर A2 में मान के विरुद्ध प्रत्येक लुकअप शीट पर A2:A6 श्रेणी में प्रत्येक सेल की जाँच करता है शीट और प्रत्येक शीट के लिए मैचों की गिनती लौटाता है। हमारे डेटासेट में, A2 (101) में ऑर्डर नंबर पश्चिम शीट में पाया जाता है, जो कि 4था हैनामित श्रेणी, इसलिए COUNTIF इस सरणी को लौटाता है:

    {0;0;0;1}

    इसके बाद, आप उपरोक्त सरणी के प्रत्येक तत्व की तुलना 0 से करते हैं:

    --({0; 0; 0; 1}>0)

    यह उपज देता है TRUE (0 से अधिक) और FALSE (0 के बराबर) मानों की एक सरणी, जिसे आप डबल यूनरी (--) का उपयोग करके 1 और 0 के लिए बाध्य करते हैं, और परिणाम के रूप में निम्न सरणी प्राप्त करते हैं:

    {0; 0; 0; 1}

    यह ऑपरेशन एक स्थिति को संभालने के लिए एक अतिरिक्त सावधानी है जब एक लुकअप शीट में लुकअप वैल्यू की कई घटनाएँ होती हैं, उस स्थिति में COUNTIF 1 से अधिक की गिनती लौटाएगा, जबकि हम केवल 1 और 0 चाहते हैं final array (एक क्षण में, आप समझ जाएंगे कि क्यों)।

    इन सभी परिवर्तनों के बाद, हमारा सूत्र इस प्रकार दिखता है:

    VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, {0;0;0;1} , 0)) &"'!$A$2:$C$6"), 2, FALSE)

    INDEX और MATCH

    इस बिंदु पर, एक क्लासिक INDEX MATCH संयोजन कदम उठाता है:

    INDEX(Lookup_sheets, MATCH(1, {0;0;0;1}, 0))

    सटीक मिलान के लिए कॉन्फ़िगर किया गया MATCH फ़ंक्शन (अंतिम तर्क में 0) सरणी में मान 1 की तलाश करता है { 0;0;0;1} और अपनी स्थिति लौटाता है, जो 4 है:

    INDEX(Lookup_sheets, 4)

    INDEX फ़ंक्शन दिए गए नंबर का उपयोग करता है MATCH द्वारा पंक्ति संख्या तर्क (row_num) के रूप में, और नामित श्रेणी Lookup_sheets में चौथा मान लौटाता है, जो पश्चिम है।

    इसलिए, सूत्र आगे कम करता है to:

    VLOOKUP($A2, INDIRECT("'"&" West "&"'!$A$2:$C$6"), 2, FALSE)

    VLOOKUP और INDIRECT

    INDIRECT फ़ंक्शन इसके अंदर टेक्स्ट स्ट्रिंग को प्रोसेस करता है:

    INDIRECT("'"&"West"&"'!$A$2:$C$6")

    और इसे कनवर्ट करता है एक संदर्भ में जो table_array के तर्क पर जाता है

    माइकल ब्राउन सॉफ्टवेयर टूल्स का उपयोग करके जटिल प्रक्रियाओं को सरल बनाने के जुनून के साथ एक समर्पित प्रौद्योगिकी उत्साही है। टेक उद्योग में एक दशक से अधिक के अनुभव के साथ, उन्होंने माइक्रोसॉफ्ट एक्सेल और आउटलुक के साथ-साथ गूगल शीट्स और डॉक्स में अपने कौशल को निखारा है। माइकल का ब्लॉग अपने ज्ञान और विशेषज्ञता को दूसरों के साथ साझा करने के लिए समर्पित है, उत्पादकता और दक्षता में सुधार के लिए आसान-से-अनुसरण युक्तियाँ और ट्यूटोरियल प्रदान करता है। चाहे आप एक अनुभवी पेशेवर हों या नौसिखिए, माइकल का ब्लॉग इन आवश्यक सॉफ़्टवेयर उपकरणों से अधिकाधिक लाभ उठाने के लिए मूल्यवान अंतर्दृष्टि और व्यावहारिक सलाह प्रदान करता है।