course
VLOOKUP() Google Sheets का एक फ़ंक्शन है जो किसी कॉलम में एक मान खोजता है और उसी पंक्ति में दूसरे कॉलम से उससे मेल खाने वाला मान लौटाता है। आप इसे बताते हैं क्या खोजना है, कहाँ देखना है, और यह आपके लिए ज़रूरी डेटा ले आता है।
यह बड़े डेटासेट्स के साथ काम करते समय सबसे उपयोगी है, जहाँ हाथ से खोज और मिलान करने में बहुत समय लगता। लेकिन जब भी आपको साझा मान के आधार पर दो तालिकाओं को जोड़ना हो, VLOOKUP() आपका पसंदीदा फ़ंक्शन है।
इस गाइड में, आप इसका सिंटैक्स, इसे चरण-दर-चरण कैसे उपयोग करें, गलत परिणाम आने के कारण, और कब इसके विकल्प जैसे INDEX MATCH() या XLOOKUP() चुनने चाहिए—सब सीखेंगे।
Google Sheets में VLOOKUP() का सिंटैक्स क्या है?
VLOOKUP() का सिंटैक्स है:
=VLOOKUP(search_key, range, index, [is_sorted])
यहाँ:
-
search_keyवह मान है जिसे आप खोजना चाहते हैं -
rangeवह टेबल है जहाँ खोज होती है -
indexवह कॉलम संख्या है जिससे परिणाम लौटाना है -
[is_sorted]बताता है कि आपको सटीक मिलान चाहिए या नहीं
Google Sheets में VLOOKUP() कैसे करें?
Google Sheets में VLOOKUP() करने के लिए:
-
तय करें कि आप किस मान को देखना चाहते हैं: यह कोई ID, नाम, या कोई भी यूनिक मान हो सकता है।
-
अपनी टेबल रेंज पहचानें: ध्यान रखें कि आपकी लुकअप वैल्यू वाला कॉलम उस रेंज का पहला कॉलम हो।
-
तय करें कि कौन-सा डेटा लौटाना है: यह परिणाम वाला कॉलम है (जैसे, नाम, कीमत, स्थिति)।
-
नए सेल में
VLOOKUP()फ़ॉर्मूला दर्ज करें: अपनी लुकअप वैल्यू, टेबल रेंज, और वह कॉलम संदर्भित करें जिसे लौटाना है। -
सटीक या अनुमानित मिलान (
FALSEयाTRUE) चुनें: ज़्यादातर मामलों में, गलत परिणामों से बचने के लिए आपको सटीक मिलान चाहिए (इसके बारे में आगे)।
यदि आपके पास यह तालिका है:
|
A (ID) |
B (Name) |
|
101 |
George |
|
102 |
Sarah |
|
103 |
Lily |
और आप ID 102 के लिए नाम खोजना चाहते हैं, तो उपयोग करें:
=VLOOKUP(102, A2:B4, 2, FALSE)
यह Google Sheets को बताता है:
- कॉलम A में 102 ढूँढ़ो
- कॉलम B से मान लौटाओ
- सटीक मिलान दो
नतीजा, आपको Sarah मिलेगा।

VLOOKUP() का उदाहरण। चित्र: लेखक।
VLOOKUP() कैसे काम करता है (कदम-दर-कदम लॉजिक)
VLOOKUP() एक सरल वर्टिकल सर्च प्रक्रिया अपनाता है। यह हमेशा आपकी चुनी हुई रेंज के पहले कॉलम से शुरू करता है, फिर एक-एक पंक्ति नीचे स्कैन करता है, जब तक पहला मेल न मिल जाए।
एक बार मेल मिल जाने पर, यह उसी पंक्ति में रहता है। फिर यह आपके द्वारा बताए गए कॉलम तक दाएँ बढ़ता है और वह मान लौटाता है।
यह चरण दर चरण यूँ काम करता है:
- रेंज के पहले कॉलम से शुरू करता है
- कॉलम के नीचे तक खोजता है
- पहला मेल खाने वाला मान ढूँढ़ता है
- उसी पंक्ति में दाएँ बढ़ता है
- निर्दिष्ट कॉलम से डेटा लौटाता है
मान लीजिए आप Employee ID E1007 के लिए जॉब टाइटल ढूँढ़ना चाहते हैं। इसके लिए यह फ़ॉर्मूला उपयोग करें:
=VLOOKUP("E1007", A:G, 5, FALSE)

Google Sheets में VLOOKUP(). चित्र: लेखक।
यह फ़ॉर्मूला:
-
कॉलम A में
E1007ढूँढ़ता है -
उसी पंक्ति में दाएँ बढ़ता है
-
कॉलम 5 (Job Title) लौटाता है
-
परिणाम देता है: Software Engineer.
नोट: VLOOKUP() केवल बाएँ से दाएँ खोज सकता है। यदि आपकी लुकअप कॉलम रेंज का पहला कॉलम नहीं है, तो फ़ंक्शन काम नहीं करेगा। इस स्थिति में, आपको अपना डेटा पुनर्व्यवस्थित करना होगा या कोई दूसरा फ़ंक्शन उपयोग करना होगा। आगे इस पर आएँगे।
VLOOKUP() में Exact Match बनाम Approximate Match
Exact match केवल तब परिणाम लौटाता है जब मान पूरी तरह समान हो। Approximate match तब निकटतम उपलब्ध मान लौटाता है जब सटीक मिलान नहीं मिलता—आम तौर पर सॉर्ट किए हुए डेटा के आधार पर।
VLOOKUP() में यह आखिरी आर्ग्युमेंट से नियंत्रित होता है। आखिरी आर्ग्युमेंट FALSE या TRUE होता है—यहीं अधिकतर लोग गलती करते हैं क्योंकि TRUE हानिरहित लगता है, जबकि ऐसा है नहीं।
- FALSE का मतलब केवल सटीक मिलान। यदि मान मौजूद नहीं है, तो आपको #N/A मिलता है—जो वास्तव में सहायक है।
- TRUE तब निकटतम कम मान लौटाता है जब सटीक मिलान नहीं होता—यह बैकअप जैसा लगता है, पर असल में यह चुपचाप गलत उत्तर है। यह यह भी मानकर चलता है कि आपका डेटा सॉर्टेड है। यदि नहीं है, तो परिणाम अनिर्धारित है।
मैं कहूँगा TRUE का उपयोग केवल टियर-आधारित लुकअप के लिए करें—जैसे टैक्स ब्रैकेट या ग्रेड बैंड—जहाँ डिजाइन के अनुसार अनुमानित मिलान सही व्यवहार है। बाकी सबके लिए FALSE इस्तेमाल करें।
Exact match (FALSE)
यह VLOOKUP() से कहता है, “केवल तभी परिणाम लौटाओ जब यही सटीक मान मिले।” उदाहरण के लिए, यह फ़ॉर्मूला =VLOOKUP("E1005", A:G, 7, FALSE) E1005 ढूँढ़ता है, कॉलम 7 से सैलरी लौटाता है, और परिणाम देता है 90000।
यदि मान मौजूद नहीं है, तो आपको #N/A त्रुटि मिलती है।

VLOOKUP() में exact match। चित्र: लेखक।
Approximate match (TRUE)
यह VLOOKUP() से कहता है, “यदि सटीक मिलान न मिले, तो उससे नीचे का सबसे नज़दीकी मान लौटाओ।” यह सहायक लग सकता है—कभी-कभी है भी, पर कभी-कभी यह चुपचाप गलत उत्तर दे देता है।
उदाहरण के लिए, हमारे डेटासेट में E1011 मौजूद नहीं है। आखिरी employee ID E1010 है। तो यदि आप यह फ़ॉर्मूला उपयोग करते हैं =VLOOKUP("E1011", A:G, 7, TRUE), VLOOKUP() त्रुटि नहीं लौटाएगा। इसके बजाय, यह निकटतम कम मिलान—यानी E1010—का मान लौटाएगा। सेल में 88000 दिखेगा।
तो भले ही E1011 गायब है, VLOOKUP() फिर भी परिणाम देता है क्योंकि TRUE अनुमानित मिलान की अनुमति देता है।

VLOOKUP() में approximate match। चित्र: लेखक।
अब कल्पना करें कि वही डेटा अव्यवस्थित है, और मैं फ़ॉर्मूला में उपलब्ध employee ID दर्ज करूँ, जैसे: =VLOOKUP("E1011", A:G, 7, TRUE).
इस बार, फ़ॉर्मूला गलत सैलरी लौटाता है क्योंकि लुकअप कॉलम सॉर्टेड नहीं है, और approximate match सॉर्टेड डेटा पर निर्भर करता है।

असॉर्टेड सूची के कारण VLOOKUP() approximate match त्रुटि देता है। चित्र: लेखक।
VLOOKUP() में आम त्रुटियाँ और उन्हें कैसे ठीक करें
आइए VLOOKUP() के साथ अक्सर आने वाली कुछ समस्याएँ और उनके समाधान देखें:
#N/A त्रुटि
#N/A त्रुटि का मतलब है कि VLOOKUP() वह मान नहीं ढूँढ़ सका जिसे आपने माँगा था।
मान लीजिए आपके पास यह फ़ॉर्मूला है: =VLOOKUP("E9999", A:G, 7, FALSE)
यदि E9999 रेंज के पहले कॉलम में नहीं है, तो फ़ॉर्मूला #N/A लौटाता है।
यह तब भी हो सकता है जब शीट में मान अलग तरह से टाइप हुआ हो—जैसे अतिरिक्त स्पेस या टेक्स्ट फ़ॉर्मैटिंग की समस्या।
इसे ठीक करने के लिए:
-
सुनिश्चित करें कि मान रेंज के पहले कॉलम में मौजूद है
-
जहाँ संभव हो, मान मैन्युअली टाइप करने के बजाय सही सेल रेफ़रेंस का उपयोग करें
-
यदि आप टेक्स्ट वैल्यू हार्डकोड करते हैं, तो उद्धरण चिह्न जोड़ें
-
डेटा से अग्र/पश्च स्पेस हटाएँ
-
जब आपको सटीक मिलान चाहिए, तभी
FALSEका उपयोग करें
गलत कॉलम इंडेक्स
कॉलम इंडेक्स VLOOKUP() को बताता है कि चुनी हुई रेंज में किस कॉलम से मान लौटाना है। यदि इंडेक्स संख्या बहुत बड़ी है, तो फ़ॉर्मूला #REF! लौटाता है।
यह =VLOOKUP("E1005", A:G, 8, FALSE) #REF! लौटाता है क्योंकि रेंज A:G में केवल 7 कॉलम हैं।

गलत कॉलम इंडेक्स पर त्रुटि। चित्र: लेखक।
यदि कॉलम संख्या मान्य है पर गलत कॉलम की ओर इशारा करती है, तो भी आपको गलत परिणाम मिल सकता है।
उदाहरण के लिए:
=VLOOKUP("E1005", A:G, 5, FALSE)
यह सैलरी नहीं, जॉब टाइटल लौटाता है।
इसे ठीक करने के लिए:
- कॉलम गिनती अपनी चुनी हुई रेंज के पहले कॉलम से करें
- जाँचें कि कॉलम संख्या उस मान से मेल खाती है जिसे आप लौटाना चाहते हैं
- सुनिश्चित करें कि कॉलम रेंज के अंदर मौजूद है
Approximate match की समस्याएँ
यदि आप TRUE इस्तेमाल करते हैं, तो VLOOKUP() सटीक मिलान की जगह निकटतम कम मान ढूँढ़ता है।
यदि आप =VLOOKUP("E1011", A:G, 7, TRUE) टाइप करते हैं और डेटासेट में E1011 नहीं है, तो त्रुटि लौटाने की बजाय फ़ॉर्मूला 88000 लौटाता है, जो E1010 का है।
यह परिणाम सही दिख सकता है, पर यह सटीक मिलान नहीं है।
इसे ठीक करने के लिए:
-
जब सटीक परिणाम चाहिए हो, तो
FALSEका उपयोग करें -
केवल तब
TRUEउपयोग करें जब डेटा सॉर्टेड हो और अनुमानित परिणाम स्वीकार्य हो
रेंज से जुड़ी समस्याएँ
VLOOKUP() तब भी काम करना बंद कर सकता है जब चुनी हुई रेंज फ़ॉर्मूला की अपेक्षा से मेल न खाए।
उदाहरण के लिए, =VLOOKUP("E1005", A:C, 7, FALSE) #REF! देता है क्योंकि रेंज A:C में केवल 3 कॉलम हैं, लेकिन फ़ॉर्मूला कॉलम 7 माँग रहा है।
एक और आम समस्या तब होती है जब लुकअप कॉलम रेंज का पहला कॉलम नहीं होता।
यह फ़ॉर्मूला देखें:
=VLOOKUP("E1005", B:G, 7, FALSE)
यहाँ रेंज का पहला कॉलम B है, A नहीं। चूँकि VLOOKUP() केवल चुनी हुई रेंज के पहले कॉलम में खोजता है, यह E1005 नहीं ढूँढ़ सकता।
इसे ठीक करने के लिए:
- सुनिश्चित करें कि लुकअप कॉलम रेंज का पहला कॉलम हो
- सुनिश्चित करें कि रेंज में वह कॉलम शामिल हो जिसे आप लौटाना चाहते हैं
- फ़ॉर्मूला अंतिम करने से पहले चुनी हुई रेंज दोबारा जाँचें

गलत रेंज पर त्रुटि। चित्र: लेखक।
Google Sheets में शीट्स के बीच VLOOKUP()
आप VLOOKUP() का उपयोग दूसरी शीट से डेटा लाने के लिए कर सकते हैं—रेंज से पहले शीट का नाम जोड़कर।
फॉर्मेट इस तरह दिखता है:
=VLOOKUP(search_key, SheetName!range, index, FALSE)
SheetName! हिस्सा फ़ॉर्मूला को बताता है किस शीट में खोजना है।
मान लीजिए आपका डेटा Employees नाम की शीट में है, और आप किसी दूसरी शीट में काम कर रहे हैं। employee ID E1005 के लिए department ढूँढ़ने के लिए उपयोग करें:
=VLOOKUP("E1005", Employees!A:G, 4, FALSE)
यहाँ:
-
Employees!A:GEmployees शीट में देखता है -
4Department कॉलम लौटाता है
फ़ॉर्मूला E1005 के लिए department लौटाता है।

VLOOKUP() में दूसरी शीट को संदर्भित करें। चित्र: लेखक।
जब शीट नाम में स्पेस हो
यदि शीट नाम में स्पेस है, तो उसे ऐसे सिंगल क्वोट्स में रखें:
=VLOOKUP("E1005", 'Employee Data'!A:G, 7, FALSE)
क्वोट्स के बिना फ़ॉर्मूला काम नहीं करेगा।
Google Sheets में VLOOKUP() बनाम INDEX MATCH
VLOOKUP() एक तय कॉलम में खोजता है और पोज़िशन के आधार पर डेटा लौटाता है, जबकि INDEX MATCH सीधे रो और कॉलम रेफ़रेंस से मान ढूँढ़ता है—इसलिए टेबल स्ट्रक्चर बदलने पर भी काम करता रहता है।
VLOOKUP: लिखने में तेज़, टूटने में आसान
आपने देखा कि =VLOOKUP("E1005", A:G, 7, FALSE) E1005 की सैलरी ढूँढ़ लेता है।
यह तब अच्छा काम करता है जब:
- लुकअप कॉलम बाएँ हो
- टेबल स्ट्रक्चर न बदले
समस्याएँ तब शुरू होती हैं जब स्ट्रक्चर बदलता है।
उदाहरण:
- आप नया कॉलम जोड़ते हैं
- सैलरी कॉलम 7 से 8 पर खिसक जाता है
- फ़ॉर्मूला अब भी 7 का उपयोग करता है
अब यह बिना त्रुटि दिखाए गलत मान लौटाता है।
INDEX MATCH: लंबा, पर स्थिर
अब वही लुकअप INDEX MATCH से देखें:
=INDEX(G:G, MATCH("E1005", A:A, 0))
यहाँ:
-
MATCH()कॉलम A मेंE1005की स्थिति ढूँढ़ता है -
INDEX()उसी स्थिति पर कॉलम G से मान लौटाता है
यह तरीका कॉलम संख्याओं पर निर्भर नहीं करता, इसलिए टेबल बदलने पर भी काम करता रहता है।

INDEX MATCH, VLOOKUP() से बेहतर डेटा संभालता है। चित्र: लेखक।
जहाँ यह वास्तव में मदद करता है
जब आपका डेटा बाएँ-से-दाएँ व्यवस्थित नहीं है, तो INDEX MATCH का उपयोग करें। मान लीजिए कॉलम A में Employee ID है और कॉलम C में Last Name है। यदि आप Last Name से खोजकर Employee ID लौटाना चाहते हैं, तो यह राइट-टू-लेफ़्ट लुकअप होगा।
VLOOKUP() टेबल बदले बिना यह नहीं कर सकता, पर INDEX MATCH सीधे सँभालता है:
=INDEX(A:A, MATCH("Wilson", C:C, 0))
अपने डेटा को पुनर्व्यवस्थित करने की ज़रूरत नहीं।
Google Sheets में VLOOKUP() बनाम XLOOKUP
VLOOKUP() तय संरचना में खोजता है और सीमाएँ रखता है, जबकि XLOOKUP() किसी भी दिशा में लुकअप की अनुमति देता है। इसे 2022 में Google Sheets में जोड़ा गया था और अब कई मामलों में बेहतर विकल्प है।
मान लीजिए आप Employee ID को Last Name Wilson के आधार पर ढूँढ़ना चाहते हैं। यह राइट-टू-लेफ़्ट लुकअप है। VLOOKUP() यह टेबल बदले बिना नहीं कर सकता, पर XLOOKUP() कर सकता है:
=XLOOKUP("Wilson", C:C, A:A)
यह फ़ॉर्मूला:
- Last Name (कॉलम C) में खोजता है
- Employee ID (कॉलम A) लौटाता है

Google Sheets में XLOOKUP()। चित्र: लेखक।
XLOOKUP() बेहतर है क्योंकि यह:
- किसी भी दिशा (बाएँ या दाएँ) में काम करता है
- कॉलम संख्याओं का उपयोग नहीं करता
- डिफ़ॉल्ट रूप से exact match लौटाता है
- कोई मिलान न मिलने पर कस्टम आउटपुट की अनुमति देता है
अंतिम विचार
अगर मुझे एक सलाह देनी हो: VLOOKUP() को किसी ऐसे वास्तविक स्प्रेडशीट में बनाइए जिसकी आपको सच में परवाह हो—सिर्फ़ प्रैक्टिस शीट नहीं। जब डेटा अहम होगा, तो गलतियाँ अलग असर डालेंगी। आपको याद रहेगा कि FALSE क्यों होता है—पहली बार जब TRUE चुपचाप किसी की गलत सैलरी दे देगा।
जब आप सहज हो जाएँ, अलग-अलग मैच प्रकार आज़माएँ, अपनी रेंज समायोजित करें, और देखें कब परिणाम समझ में आना बंद कर देते हैं। अक्सर वहीं पर INDEX MATCH() या XLOOKUP() जैसा अधिक लचीला विकल्प ज़्यादा मायने रखता है।
FAQs
क्या मैं `VLOOKUP()` को वाइल्डकार्ड कैरेक्टर्स के साथ उपयोग कर सकता/सकती हूँ?
हाँ। आप exact match का उपयोग करते समय सर्च की में * (किसी भी संख्या के अक्षर) और ? (एक अक्षर) जैसे वाइल्डकार्ड का उपयोग कर सकते हैं।
उदाहरण के लिए, =VLOOKUP("E10*", A:G, 2, FALSE)
क्या Google Sheets में `VLOOKUP()` केस-सेंसिटिव सर्च संभाल सकता है?
नहीं। VLOOKUP() केस-सेंसिटिव नहीं है। यह “apple” और “Apple” को एक जैसा मानता है। केस-सेंसिटिव लुकअप करने के लिए आपको FILTER() या EXACT() जैसे फ़ंक्शनों का उपयोग करना होगा।
कभी-कभी `VLOOKUP()` खाली परिणाम क्यों लौटाता है?
यह तब होता है जब मिला हुआ सेल खाली होता है—इसका मतलब फ़ॉर्मूला सही चला, लेकिन दिखाने के लिए डेटा नहीं है।
क्या `VLOOKUP()` named ranges को संदर्भित कर सकता है?
हाँ। A:G उपयोग करने के बजाय, आप अपनी रेंज को नाम दे सकते हैं (जैसे, EmployeeData) और उसे फ़ॉर्मूला में उपयोग कर सकते हैं।
ऐसा करने का उदाहरण:
=VLOOKUP("E1005", EmployeeData, 7, FALSE)