सामग्री तालिका
ट्युटोरियलले अर्को कार्यपत्र वा कार्यपुस्तिकाबाट डाटा प्रतिलिपि गर्न VLOOKUP प्रकार्य कसरी प्रयोग गर्ने भनेर देखाउँछ, धेरै पानाहरूमा Vlookup, र विभिन्न पानाहरूबाट विभिन्न कक्षहरूमा मानहरू फर्काउन गतिशील रूपमा हेर्नुहोस्।
Excel मा केहि जानकारी खोज्दा, सबै डाटा एउटै पानामा हुँदा यो दुर्लभ मामला हो। धेरै पटक, तपाईंले धेरै पानाहरू वा फरक कार्यपुस्तिकाहरूमा खोजी गर्नुपर्नेछ। सुसमाचार यो हो कि माइक्रोसफ्ट एक्सेलले यो गर्न एक भन्दा बढी तरिका प्रदान गर्दछ, र नराम्रो खबर यो हो कि सबै तरिकाहरू मानक VLOOKUP सूत्र भन्दा अलि बढी जटिल छन्। तर थोरै धैर्यताका साथ, हामी तिनीहरूलाई पत्ता लगाउनेछौं :)
दुई पानाहरू बीच कसरी VLOOKUP गर्ने
सुरुवातका लागि, एउटा सरल केसको खोजी गरौं - VLOOKUP प्रयोग गरेर अर्को कार्यपत्रबाट डाटा प्रतिलिपि गर्नुहोस्। यो एउटै कार्यपत्रमा खोजी गर्ने नियमित VLOOKUP सूत्रसँग धेरै मिल्दोजुल्दो छ। फरक यो हो कि तपाईले पानाको नाम table_array तर्कमा समावेश गर्नुहुन्छ तपाईको सूत्र कुन कार्यपत्रमा लुकअप दायरा अवस्थित छ भनेर बताउन।
अर्को पानाबाट VLOOKUP को सामान्य सूत्र निम्नानुसार छ:
VLOOKUP(lookup_value, Sheet!range, col_index_num, [range_lookup])उदाहरणको लागि, जनवरी प्रतिवेदन सारांश पाना। यसका लागि, हामी निम्न तर्कहरू परिभाषित गर्छौं:
- Lookup_values Summary पानाको स्तम्भ A मा छन्, र हामीVLOOKUP:
VLOOKUP($A2, 'West'!$A$2:$C$6 , 2, FALSE)
अन्तमा, यो धेरै मानक VLOOKUP सूत्रले दायरा A2:C6 को पहिलो स्तम्भमा A2 मान खोज्छ पश्चिम पानामा र फर्काउँछ दोस्रो स्तम्भबाट मिलाउनुहोस्। यो हो!
गतिशील VLOOKUP धेरै पानाहरूबाट विभिन्न कक्षहरूमा डेटा फिर्ता गर्न
पहिले, यस सन्दर्भमा "गतिशील" शब्दको अर्थ के हो र यो सूत्र कसरी हुनेछ भनेर परिभाषित गरौं। अघिल्लो भन्दा फरक।
यदि तपाईंसँग एउटै ढाँचामा धेरै स्प्रिेडसिटहरूमा विभाजित डाटाको ठूलो भाग छ भने, तपाईंले विभिन्न पानाहरूबाट विभिन्न कक्षहरूमा जानकारी निकाल्न चाहनुहुन्छ। तलको छविले अवधारणालाई चित्रण गर्दछ:
विशिष्ट पहिचानकर्ताको आधारमा विशिष्ट पानाबाट मान प्राप्त गर्ने अघिल्लो सूत्रहरूको विपरीत, यस पटक हामी धेरै पानाहरूबाट मानहरू निकाल्न खोजिरहेका छौं। समय।
यस कार्यको लागि दुई फरक समाधानहरू छन्। दुबै अवस्थामा, तपाईंले थोरै तयारी कार्य गर्न आवश्यक छ र प्रत्येक लुकअप पानामा डेटा कक्षहरूको लागि नामित दायराहरू सिर्जना गर्न आवश्यक छ। यस उदाहरणको लागि, हामीले निम्न दायराहरू परिभाषित गरेका छौं:
- East_Sales - A2:B6 पूर्वी पानामा
- North_Sales - A2: उत्तरी पानामा B6
- South_Sales - 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 हो भने, East_Sales नामको दायरामा हेर्नुहोस्; यदि B1 उत्तर हो भने, North_Sales नामको दायरामा हेर्नुहोस्; यदि B1 दक्षिण हो भने, दक्षिण_सेल्स नामक दायरामा हेर्नुहोस्; र यदि B1 पश्चिम हो भने, वेस्ट_सेल्स नामक दायरामा हेर्नुहोस्।
IF द्वारा फर्काइएको दायरा VLOOKUP को table_array मा जान्छ, जसले तान्छ। सम्बन्धित पानामा दोस्रो स्तम्भबाट मिल्दो मान।
लुकअप मान ($A2 - निरपेक्ष स्तम्भ र सापेक्ष पङ्क्ति) र IF (B$1 - सापेक्ष स्तम्भ) को तार्किक परीक्षणको लागि मिश्रित सन्दर्भहरूको चलाखीपूर्ण प्रयोग। र निरपेक्ष पङ्क्ति) कुनै पनि परिवर्तन बिना अन्य कक्षहरूमा सूत्र प्रतिलिपि गर्न अनुमति दिन्छ - Excel ले पङ्क्ति र स्तम्भको सापेक्ष स्थितिको आधारमा स्वतः सन्दर्भहरू समायोजन गर्दछ।
त्यसोभए, हामी B2 मा सूत्र प्रविष्ट गर्छौं, यसलाई दायाँ प्रतिलिपि गर्नुहोस् र आवश्यकता अनुसार धेरै स्तम्भहरू र पङ्क्तिहरूमा तल जानुहोस्, र निम्न परिणामहरू प्राप्त गर्नुहोस्:
अप्रत्यक्ष VLOOKUP
धेरै पानाहरूसँग काम गर्दा, धेरै नेस्टेड स्तरहरूले सूत्र पनि बनाउन सक्छ। लामो र पढ्न गाह्रो। अझ राम्रो तरिका भनेको INDIRECT को मद्दतले गतिशील vlookup दायरा सिर्जना गर्नु हो:
यो पनि हेर्नुहोस्: जन्मदिन देखि Excel मा उमेर कसरी गणना गर्ने=VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)
यहाँ, हामी सेलको सन्दर्भलाई जोड्दछौं जसमा aनाम गरिएको दायरा (B1) को अद्वितीय भाग र साझा भाग (_Sales)। यसले "East_Sales" जस्तो पाठ स्ट्रिङ उत्पादन गर्छ, जुन INDIRECT ले Excel द्वारा बुझ्न सकिने दायरा नाममा रूपान्तरण गर्छ।
परिणामको रूपमा, तपाईंले कुनै पनि पानाहरूमा राम्रोसँग काम गर्ने एउटा कम्प्याक्ट सूत्र प्राप्त गर्नुहुन्छ:
<0यस्तै Excel मा पाना र फाइलहरू बीच Vlookup गर्ने तरिका हो। पढ्नुभएकोमा म तपाईंलाई धन्यवाद दिन्छु र अर्को हप्ता हाम्रो ब्लगमा भेट्ने आशा गर्छु!
डाउनलोडको लागि अभ्यास कार्यपुस्तिका
Vlookup बहु पाना उदाहरणहरू (.xlsx फाइल)
पहिलो डेटा सेललाई सन्दर्भ गर्नुहोस्, जुन A2 हो। - Table_array जन पानामा दायरा A2:B6 हो। यसलाई सन्दर्भ गर्न, विस्मयादिबोधक बिन्दु: Jan!$A$2:$B$6 पछि पाना नामको साथ दायरा सन्दर्भ उपसर्ग गर्नुहोस्।
कृपया ध्यान दिनुहोस् कि हामीले अन्य कक्षहरूमा सूत्र प्रतिलिपि गर्दा यसलाई परिवर्तन गर्नबाट रोक्नको लागि निरपेक्ष कक्ष सन्दर्भहरूको साथ दायरा लक गर्छौं।
Col_index_num 2 हो किनभने हामी मान प्रतिलिपि गर्न चाहन्छौं। स्तम्भ B बाट, जुन तालिका एरेको दोस्रो स्तम्भ हो।
- रेन्ज_लुकअप लाई सही मेल हेर्न FALSE मा सेट गरिएको छ।
तर्कहरू सँगै राखेर, हामीले यो सूत्र पाउँछौं:
=VLOOKUP(A2, Jan!$A$2:$B$6, 2, FALSE)
सूत्रलाई स्तम्भमा तान्नुहोस् र तपाईंले यो नतिजा पाउनुहुनेछ:
10>
एकमा यस्तै तरिकाले, तपाईंले फेब्रुअरी र मार्च पानाहरूबाट डेटा हेर्न सक्नुहुन्छ:
=VLOOKUP(A2, Feb!$A$2:$B$6, 2, FALSE)
=VLOOKUP(A2, Mar!$A$2:$B$6, 2, FALSE)
11>
सुझाव र नोटहरू:
- यदि पानाको नाममा स्पेस वा गैर-अक्षर वर्णहरू छन् भने, यो एकल उद्धरण चिन्हहरूमा संलग्न हुनुपर्छ, जस्तै 'जन बिक्री'!$A$2:$B$6 । थप जानकारीको लागि, कृपया Excel मा अर्को पानालाई कसरी सन्दर्भ गर्ने हेर्नुहोस्।
- पानाको नाम सिधै सूत्रमा टाइप गर्नुको सट्टा, तपाईं लुकअप कार्यपत्रमा स्विच गर्न सक्नुहुन्छ र त्यहाँ दायरा चयन गर्न सक्नुहुन्छ। एक्सेलले सही सिन्ट्याक्सको साथ एक सन्दर्भ स्वतः घुसाउनेछ, नाम जाँच गर्न र समस्या निवारण गर्नको लागि तपाईलाई समस्या बचाउँदै।कार्यपुस्तिकाहरू, वर्गाकार कोष्ठकहरूमा फाइल नाम समावेश गर्नुहोस्, पछि पानाको नाम र विस्मयादिबोधक बिन्दु।
उदाहरणका लागि, दायरा A2:B6 मा A2 मान खोज्न Jan पाना मा Sales_reports.xlsx कार्यपुस्तिका, यो सूत्र प्रयोग गर्नुहोस्:
=VLOOKUP(A2, [Sales_reports.xlsx]Jan!$A$2:$B$6, 2, FALSE)
पूर्ण विवरणहरूको लागि, कृपया एक्सेलको अर्को कार्यपुस्तिकाबाट VLOOKUP हेर्नुहोस्।
भरि हेर्नुहोस्। IFERROR सँग धेरै पानाहरू
जब तपाईंले दुई भन्दा बढी पानाहरू बीचमा हेर्न आवश्यक छ, सबैभन्दा सजिलो समाधान IFERROR सँग संयोजनमा VLOOKUP प्रयोग गर्नु हो। विचार धेरै IFERROR प्रकार्यहरू नेस्ट गर्न धेरै कार्यपत्रहरू एक एक गरेर जाँच गर्न हो: यदि पहिलो VLOOKUP ले पहिलो पानामा मिल्दो फेला पारेन भने, अर्को पानामा खोज्नुहोस्, र यस्तै।
यस दृष्टिकोणले वास्तविक जीवन डेटामा कसरी काम गर्छ भनेर हेर्नको लागि, निम्न उदाहरणलाई विचार गरौं। तल सारांश तालिका हो जुन हामीले पश्चिम र पूर्व पानाहरूमा अर्डर नम्बर हेरेर वस्तुको नाम र रकमहरू भर्न चाहन्छौं:
पहिले, हामी वस्तुहरू तान्न जाँदैछौं। यसका लागि, हामी VLOOKUP सूत्रलाई पूर्व पानामा A2 मा अर्डर नम्बर खोज्न र स्तम्भ B ( table_array 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"))
15>
रकम फिर्ता गर्न,केवल स्तम्भ अनुक्रमणिका नम्बर 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) छ, तर तपाईंको कार्यपत्रहरू आकारमा फरक हुन सक्छ।
एकाधिक कार्यपुस्तिकाहरूमा हेर्नुहोस्
दुई वा बढी कार्यपुस्तिकाहरू बीचमा हेर्नको लागि, कार्यपुस्तिकाको नामलाई वर्गाकार कोष्ठकमा संलग्न गर्नुहोस् र पानाको नामको अगाडि राख्नुहोस्। उदाहरणका लागि, यहाँ तपाईंले दुई फरक फाइलहरू ( Book1 र Book2 ) मा एउटै सूत्रसँग कसरी हेर्न सक्नुहुन्छ:
=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) :B$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) ले VLOOKUP लाई तेस्रो स्तम्भबाट मान फिर्ता गर्न बाध्य पार्ने ३ मा मूल्याङ्कन गर्छ।
यो सूत्र २ - ३ लुकअप पानाहरूको लागि राम्रो काम गर्दछ। यदि तपाइँसँग धेरै छ भने, दोहोरिने IFERRORहरू धेरै बोझिल हुन्छन्। अर्को उदाहरणले अलि बढी जटिल तर धेरै सुरुचिपूर्ण दृष्टिकोण देखाउँछ।
अप्रत्यक्षसँग बहु पानाहरू हेर्नुहोस्
एक्सेलमा धेरै पानाहरू बीच VLOOKUP र VLOOKUP को संयोजन प्रयोग गर्ने अर्को तरिका हो। INDIRECT कार्यहरू। यो विधिलाई थोरै तयारी चाहिन्छ, तर अन्तमा, तपाइँसँग कुनै पनि संख्यामा स्प्रेडसिटहरूमा 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 मानमान।
- टेबल_एरे - लुकअप पानाहरूमा डेटा दायरा।
- Col_index_num - तालिका एरेमा स्तम्भको संख्या जसबाट मान फिर्ता गर्नुहोस्।
सूत्रलाई सही तरिकाले काम गर्नको लागि, कृपया निम्न सावधानीहरूलाई ध्यानमा राख्नुहोस्:
- यो एउटा एरे सूत्र हो, जसलाई Ctrl + थिचेर पूरा गर्नुपर्छ। शिफ्ट + इन्टर कुञ्जीहरू सँगै प्रविष्ट गर्नुहोस्।
- सबै पानाहरूमा स्तम्भहरूको समान क्रम हुनुपर्छ।
- जसरी हामी सबै लुकअप पानाहरूको लागि एउटा तालिका एरे प्रयोग गर्छौं, <12 निर्दिष्ट गर्नुहोस्।>सबैभन्दा ठूलो दायरा यदि तपाईंका पानाहरूमा पङ्क्तिहरूको फरक संख्या छ भने।
पानाहरूमा Vlookup गर्न सूत्र कसरी प्रयोग गर्ने
एक पटकमा धेरै पानाहरू हेर्न, यी पूरा गर्नुहोस् चरणहरू:
- तपाईंको कार्यपुस्तिकामा कतै सबै लुकअप पाना नामहरू लेख्नुहोस् र त्यो दायराको नाम दिनुहोस् ( लुकअप_पानाहरू हाम्रो मामलामा)।
- A2 मान ( lookup_value )
- दायरा A2:A6 ( lookup_range ) मा खोज्दै चार कार्यपत्रहरू ( पूर्व , उत्तर , दक्षिण र पश्चिम ), र
- स्तम्भ B बाट मिल्दो मानहरू तान्नुहोस्, जुन डेटा दायरा A2:C6 ( table_array ) मा स्तम्भ २ ( 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) निरपेक्ष कक्ष सन्दर्भहरू लक गर्छौं।
को रूपमा नतिजा, हामीले 4 पानाहरूमा अर्डर नम्बर हेर्न र सम्बन्धित वस्तु पुन: प्राप्त गर्ने सूत्र पाएका छौं। यदि कुनै विशेष अर्डर नम्बर फेला परेन भने, पङ्क्ति 14 मा जस्तै #N/A त्रुटि प्रदर्शित हुन्छ:
रकम फिर्ता गर्न, केवल col_index_num मा 2 लाई 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 गर्न। यसका लागि, तलको सूत्रमा देखाइएको जस्तै 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")
पानाहरू बीचमा हेर्नुहोस् र धेरै स्तम्भहरू फर्काउनुहोस्
यदि तपाईं धेरैबाट डाटा तान्न चाहनुहुन्छ भने स्तम्भहरू, एक बहु-सेल एरे सूत्र एक पटकमा गर्न सक्छ। यस्तो सूत्र सिर्जना गर्न, col_index_num तर्कको लागि एरे स्थिरता प्रदान गर्नुहोस्।
यस उदाहरणमा, हामी वस्तुको नाम (स्तम्भ B) र मात्राहरू (स्तम्भ C) फर्काउन चाहन्छौं, जुन तालिका एरेमा क्रमशः दोस्रो र तेस्रो स्तम्भहरू हुन्। त्यसैले, आवश्यक सरणी छ{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 थिच्नुहोस्। यसले चयन गरिएका कक्षहरूमा उही सूत्र प्रविष्ट गर्दछ, जसले प्रत्येक स्तम्भमा फरक मान फर्काउँछ।
- बाँकी पङ्क्तिहरूमा सूत्रलाई तल तान्नुहोस्।
24>
यस सूत्रले कसरी काम गर्छ
तर्कलाई राम्रोसँग बुझ्नको लागि, यो आधारभूत सूत्रलाई व्यक्तिगत प्रकार्यहरूमा विभाजन गरौं:
=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)
थप विवरणमा:
पहिले, तपाइँ दायरा नाम (Lookup_sheets) र दायरा सन्दर्भ ($A$2:) जोड्नुहोस्। $A$6), बाह्य सन्दर्भ बनाउनको लागि सही ठाउँहरूमा apostrophes र विस्मयादिबोधक बिन्दु थप्दै, र INDIRECT प्रकार्यमा परिणामित पाठ स्ट्रिङलाई गतिशील रूपमा लुकअप पानाहरूमा सन्दर्भ गर्न फिड गर्नुहोस्:
INDIRECT({"'East'!$A$2:$A$6"; "'South'!$A$2:$A$6"; "'North'!$A$2:$A$6"; "'West'!$A$2:$A$6"})
COUNTIF ले प्रत्येक लुकअप पानामा दायरा A2:A6 मा प्रत्येक सेल जाँच गर्दछ मुख्य मा A2 मा मान विरुद्ध पाना र प्रत्येक पानाको लागि मिलानहरूको गणना फर्काउँछ। हाम्रो डेटासेटमा, A2 (101) मा अर्डर नम्बर पश्चिम पानामा फेला परेको छ, जुन चौथो स्थानमा छ।नाम गरिएको दायरा, त्यसैले COUNTIF ले यो एरे फर्काउँछ:
{0;0;0;1}
अर्को, तपाईंले माथिको एरेको प्रत्येक तत्वलाई ०:
--({0; 0; 0; 1}>0)
यो उपजसँग तुलना गर्नुहुन्छ TRUE (0 भन्दा ठुलो) र FALSE (0 को बराबर) मानहरूको एर्रे, जसलाई तपाईंले डबल युनरी (--) प्रयोग गरेर 1's र 0's मा जबरजस्ती गर्नुहुन्छ र परिणामको रूपमा निम्न एरे प्राप्त गर्नुहोस्:
{0; 0; 0; 1}
यो अपरेसन भनेको स्थिति ह्यान्डल गर्नको लागि अतिरिक्त सावधानी हो जब लुकअप पानाले लुकअप मानका धेरै घटनाहरू समावेश गर्दछ, जसमा COUNTIF ले 1 भन्दा ठूलो गणना फिर्ता गर्नेछ, जबकि हामी केवल 1's र 0's चाहन्छौं। अन्तिम एरे (एक क्षणमा, तपाईंले किन बुझ्नुहुनेछ)।
यी सबै परिवर्तनहरू पछि, हाम्रो सूत्र निम्नानुसार देखिन्छ:
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) array मा मान 1 खोज्छ { 0;0;0;1} र यसको स्थिति फर्काउँछ, जुन 4:
INDEX(Lookup_sheets, 4)
INDEX प्रकार्यले फर्काइएको संख्या प्रयोग गर्दछ। पङ्क्ति संख्या तर्क (row_num) को रूपमा MATCH द्वारा, र नामित दायरा Lookup_sheets मा 4th मान फर्काउँछ, जुन West हो।
त्यसैले, सूत्रले थप घटाउँछ। यसमा:
VLOOKUP($A2, INDIRECT("'"&" West "&"'!$A$2:$C$6"), 2, FALSE)
VLOOKUP र INDIRECT
INDIRECT प्रकार्यले यसको भित्रको पाठ स्ट्रिङलाई प्रशोधन गर्छ:
INDIRECT("'"&"West"&"'!$A$2:$C$6")
र यसलाई रूपान्तरण गर्दछ एउटा सन्दर्भमा जुन table_array को तर्कमा जान्छ