![](https://cdn.wiki-base.com/3019675/excel_formula_lookup_last_file_revision__2.png.webp)
सामान्य सूत्र
(=MAX(IF(ISERROR(SEARCH(H5&"*",files)),0,ROW(files)-ROW(INDEX(files,1,1))+1)))
सारांश
किसी तालिका में अंतिम फ़ाइल संशोधन की स्थिति (पंक्ति) को खोजने के लिए, आप कई एक्सेल फ़ंक्शन: MAX, IF, ISERROR, ROW और INDEX पर आधारित सूत्र का उपयोग कर सकते हैं।
दिखाए गए उदाहरण में, सेल H6 का सूत्र है:
(= MAX (IF (ISERROR (SEARCH (H5 & "*", files))), 0, ROW (फाइलें) -ROW (INDEX (फाइलें, 1,1)) + 1))
जहाँ "फाइलें" नाम की श्रेणी C4: C11 है।
नोट: यह एक सरणी सूत्र है और इसे नियंत्रण + शिफ्ट + दर्ज के साथ दर्ज किया जाना चाहिए।
प्रसंग
इस उदाहरण में, हमारे पास तालिका में सूचीबद्ध कई फ़ाइल संस्करण हैं, जिनमें दिनांक और उपयोगकर्ता नाम है। ध्यान दें कि फ़ाइल नाम दोहराए जाते हैं, सिवाय संस्करण ("सीए", "सीबी", "सीसी", "सीडी", आदि) का प्रतिनिधित्व करने के लिए कोड में।
किसी दिए गए फ़ाइल के लिए, हम अंतिम संशोधन के लिए स्थिति (पंक्ति संख्या) का पता लगाना चाहते हैं। यह एक मुश्किल समस्या है, क्योंकि फ़ाइल नामों के अंत में संस्करण कोड फ़ाइल नाम पर मेल करना कठिन बनाते हैं। इसके अलावा, डिफ़ॉल्ट रूप से, एक्सेल मैच फॉर्मूला पहला मैच लौटाएगा, आखिरी मैच नहीं, इसलिए हमें कुछ ट्रिक तकनीकों के साथ उस चुनौती के आसपास काम करने की आवश्यकता है।
स्पष्टीकरण
इस सूत्र के मूल में, हम किसी दिए गए फ़ाइल के लिए पंक्ति संख्याओं की एक सूची बनाते हैं। फिर हम सबसे बड़ी पंक्ति संख्या प्राप्त करने के लिए MAX फ़ंक्शन का उपयोग करते हैं, जो उस फ़ाइल के अंतिम संशोधन (अंतिम घटना) से मेल खाती है।
किसी दिए गए फ़ाइल की सभी घटनाओं को खोजने के लिए, हम कोड के कोड को अनदेखा करते हुए फ़ाइल नाम से मेल करने के लिए तारांकन चिह्न (*) वाइल्डकार्ड के साथ कॉन्फ़िगर किए गए SEARCH फ़ंक्शन का उपयोग करते हैं। जब पाठ नहीं मिलता है, तो खोज एक त्रुटि होगी, इसलिए हम खोज को ISERROR में लपेटते हैं:
ISERROR(SEARCH(H5&"*",files))
इसके परिणामस्वरूप TRUE और FALSE मानों की एक सरणी होती है:
(FALSE; TRUE; FALSE; FALSE; TRUE; TRUE; FALSE; TRUE)
यह भ्रामक है, लेकिन TRUE एक त्रुटि (पाठ नहीं मिला) का प्रतिनिधित्व करता है, और FALSE एक मैच का प्रतिनिधित्व करता है। यह सरणी परिणाम तार्किक परीक्षण के रूप में IF फ़ंक्शन में खिलाया जाता है। मान के लिए यदि TRUE, हम शून्य का उपयोग करते हैं, और मान के लिए यदि सही है, तो हम इस कोड की आपूर्ति करते हैं, जो उस सीमा के लिए सापेक्ष पंक्ति संख्या उत्पन्न करता है, जिसके साथ हम काम कर रहे हैं:
ROW(files)-ROW(INDEX(files,1,1))+1)
IF फ़ंक्शन तब इस तरह के मान देता है:
(1; 0; 3; 4; 0; 7; 0)
"फ़ाइल नाम 1" के लिए शून्य को छोड़कर सभी संख्याएँ मिलान का प्रतिनिधित्व करती हैं - अर्थात नामित श्रेणी "फ़ाइलों" के अंदर पंक्ति संख्या जहाँ "फ़ाइलनाम 1" दिखाई देता है।
अंत में, हम इस सरणी में अधिकतम मान प्राप्त करने के लिए MAX फ़ंक्शन का उपयोग करते हैं, जो इस उदाहरण में 7 है।
अंतिम संशोधन (यानी पूर्ण फ़ाइल नाम, दिनांक, उपयोगकर्ता, आदि) से संबंधित जानकारी प्राप्त करने के लिए इस पंक्ति संख्या के साथ INDEX का उपयोग करें।
बिना नाम की सीमा
नामांकित पर्वतमाला अधिक जटिल सूत्र स्थापित करने के लिए इसे तेज़ और आसान बनाती हैं, क्योंकि आपको हाथ से सेल पते दर्ज करने की आवश्यकता नहीं है। हालांकि, इस मामले में, हम नाम "रेंज" की पहली सेल प्राप्त करने के लिए एक अतिरिक्त फ़ंक्शन (INDEX) का उपयोग कर रहे हैं, जो चीजों को थोड़ा जटिल करता है। नामित सीमा के बिना, सूत्र इस तरह दिखता है:
(=MAX(IF(ISERROR(SEARCH(H5&"*",C4:C11)),0,ROW(C4:C11)-ROW(C4)+1)))