एक्सेल सूत्र: 2 VLOOKUPS के साथ तेज़ VLOOKUP -

विषय - सूची

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

=IF(VLOOKUP(id,data,1,TRUE)=id, VLOOKUP(id,data,col,TRUE), NA())

सारांश

डेटा के बड़े सेटों के साथ, सटीक मिलान VLOOKUP दर्दनाक रूप से धीमा हो सकता है, लेकिन आप दो VLOOKUPS का उपयोग करके VLOOKUP को तेज़ बना सकते हैं, जैसा कि नीचे बताया गया है।

टिप्पणियाँ:

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

सटीक मैच VLOOKUP धीमा है

जब आप डेटा के एक बड़े सेट पर "सटीक मिलान मोड" में VLOOKUP का उपयोग करते हैं, तो यह वास्तव में एक कार्यपत्रक में गणना के समय को धीमा कर सकता है। के साथ, कहते हैं, 50,000 रिकॉर्ड, या 100,000 रिकॉर्ड, गणना में मिनट लग सकते हैं।

सटीक मिलान चौथे तर्क के रूप में FALSE या शून्य की आपूर्ति करके निर्धारित किया जाता है:

=VLOOKUP(val,data,col,FALSE)

इस मोड में VLOOKUP का कारण धीमा है, क्योंकि यह डेटा सेट में हर एक रिकॉर्ड की जांच करना चाहिए जब तक कि एक मैच नहीं मिलता है। इसे कभी-कभी रैखिक खोज के रूप में जाना जाता है।

अनुमानित मैच VLOOKUP बहुत तेज है

लगभग मैच मोड में, VLOOKUP बेहद तेज है। अनुमानित मैच VLOOKUP का उपयोग करने के लिए, आपको अपना डेटा पहले कॉलम (लुकअप कॉलम) के आधार पर सॉर्ट करना होगा, फिर चौथे तर्क के लिए TRUE निर्दिष्ट करें:

=VLOOKUP(val,data,col,TRUE)

(VLOOKUP सत्य को धता बताता है, जो एक डरावना डिफ़ॉल्ट है, लेकिन यह एक और कहानी है)।

डेटा के बहुत बड़े सेटों के साथ, अनुमानित-मैच VLOOKUP में बदलने का मतलब नाटकीय गति में वृद्धि हो सकता है।

तो, नहीं-दिमाग, सही? बस डेटा को क्रमबद्ध करें, अनुमानित मैच का उपयोग करें, और आप कर रहे हैं।

इतनी जल्दी नहीं (हेह)।

"अनुमानित मिलान" मोड में VLOOKUP के साथ समस्या यह है: यदि लुकअप मान मौजूद नहीं है, तो VLOOKUP त्रुटि प्रदर्शित नहीं करेगा। इससे भी बदतर, परिणाम पूरी तरह से सामान्य लग सकता है, भले ही यह पूरी तरह से गलत हो (उदाहरण देखें)। ऐसा कुछ नहीं जो आप अपने बॉस को समझाना चाहते हैं।

समाधान मैचबुक मोड में दोनों बार VLOOKUP का उपयोग करना है:

=IF(VLOOKUP(id,data,1,TRUE)=id, VLOOKUP(id,data,col,TRUE), NA())

स्पष्टीकरण

VLOOKUP का पहला उदाहरण केवल लुकअप वैल्यू ( इस उदाहरण में आईडी ) को देखता है :

=IF(VLOOKUP(id,data,1,TRUE)=id

और लुकअप मान मिलने पर ही TRUE लौटाता है। उस स्थिति में,
सूत्र उस तालिका से मान पुनः प्राप्त करने के लिए लगभग मैच मोड में फिर से VLOOKUP चलाता है:

VLOOKUP(id,data,col,TRUE)

अनुपलब्ध लुकअप मान का कोई खतरा नहीं है, क्योंकि सूत्र का पहला भाग पहले से ही जाँच कर चुका है कि यह वहाँ है या नहीं।

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

याद रखें: आपको इस ट्रिक को काम करने के लिए लुकअप वैल्यू द्वारा डेटा को सॉर्ट करना होगा।

अच्छा लिंक

क्यों 2 VLOOKUPS 1 VLOOKUP (चार्ल्स विलियम्स) से बेहतर हैं

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