मुझे पार्टी में थोड़ी देर हो गई है, लेकिन शायद यह मदद कर सकता है। प्रश्न के लिंक में एक समान सूत्र था, लेकिन मेरा त्रुटियों से छुटकारा पाने के लिए IF () कथन का उपयोग करता है।
यदि आप Ctrl + Shift + Enter से डरते नहीं हैं, तो आप एक सरणी सूत्र के साथ बहुत अच्छा कर सकते हैं।
स्ट्रिंग (सेल A1 में): "one.two.three.four"
सूत्र:
{=MAX(IF(MID(A1,ROW($1:$99),1)=".",ROW($1:$99)))} use Ctrl+Shift+Enter
परिणाम: 14
प्रथम,
ROW($1:$99)
1 से 99 तक पूर्णांक की एक सरणी देता है {1,2,3,4,...,98,99}
:।
आगे,
MID(A1,ROW($1:$99),1)
लक्ष्य स्ट्रिंग में पाए जाने वाले 1-लंबाई के तारों की एक सरणी देता है, फिर लक्ष्य स्ट्रिंग की लंबाई तक पहुंचने के बाद खाली तार देता है: {"o","n","e",".",..."u","r","","",""...}
आगे,
IF(MID(I16,ROW($1:$99),1)=".",ROW($1:$99))
सरणी में प्रत्येक आइटम को स्ट्रिंग के साथ तुलना करता है "।" और स्ट्रिंग या FALSE में वर्ण के इंडेक्स को लौटाता है:{FALSE,FALSE,FALSE,4,FALSE,FALSE,FALSE,8,FALSE,FALSE,FALSE,FALSE,FALSE,14,FALSE,FALSE.....}
पिछले है,
=MAX(IF(MID(I16,ROW($1:$99),1)=".",ROW($1:$99)))
सरणी का अधिकतम मूल्य लौटाता है: 14
इस फॉर्मूले के लाभ यह है कि यह छोटा है, समझने में अपेक्षाकृत आसान है, और किसी भी अद्वितीय वर्ण की आवश्यकता नहीं है।
नुकसान Ctrl + Shift + Enter का उपयोग और स्ट्रिंग लंबाई पर सीमा का आवश्यक उपयोग है। यह नीचे दिखाए गए भिन्नता के साथ काम किया जा सकता है, लेकिन यह भिन्नता OFFSET () फ़ंक्शन का उपयोग करती है जो एक अस्थिर (पढ़ें: धीमा) फ़ंक्शन है।
निश्चित नहीं है कि इस फॉर्मूले की गति क्या है।
बदलाव:
=MAX((MID(A1,ROW(OFFSET($A$1,,,LEN(A1))),1)=".")*ROW(OFFSET($A$1,,,LEN(A1)))) works the same way, but you don't have to worry about the length of the string
=SMALL(IF(MID(A1,ROW($1:$99),1)=".",ROW($1:$99)),2) determines the 2nd occurrence of the match
=LARGE(IF(MID(A1,ROW($1:$99),1)=".",ROW($1:$99)),2) determines the 2nd-to-last occurrence of the match
=MAX(IF(MID(I16,ROW($1:$99),2)=".t",ROW($1:$99))) matches a 2-character string **Make sure you change the last argument of the MID() function to the number of characters in the string you wish to match!