एक्सेल में एक संख्यात्मक चरित्र के दाईं ओर वर्ण प्राप्त करें


0

मैं सोच रहा था कि संख्या से प्रत्येक सेल से वर्ण प्राप्त करने के लिए एक्सेल में एक तरीका है। उदाहरण के लिए नीचे उदाहरण के लिए

PW22CL -> CL
PW22CLB -> CLB
PW22EBS ->EBS
PW22EK -> EK
PW22FL ->FL
PW22HF -> HF
W21M -> M
W21OB ->OB

क्या कोई तरीका है जो मैं रेग्युलर LEFT, RIGHT, MID, FIND फंक्शंस में regex को एक्सेल में रख सकता हूं?

जवाबों:


2

यदि आप VBA का उपयोग नहीं करना चाहते हैं:

विधि 1: इस सरणी सूत्र का उपयोग करें :

=RIGHT(A1,LEN(A1)-MAX(IF(ISNUMBER(VALUE(MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),ROW(INDIRECT("1:" & LEN(A1))))))

इसका मूल्यांकन करने के लिए CTRL+ SHIFT+ दबाएँ ENTER


विधि 2: या इस सरणी सूत्र का उपयोग करें :

=RIGHT(A1,LEN(A1)-MAX(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0},A1,ROW(INDIRECT("1:"&LEN(A1)))),0)))

इसका मूल्यांकन करने के लिए CTRL+ SHIFT+ दबाएँ ENTER


विधि 3: या यह नियमित सूत्र यदि आप Excel 2010 या उच्चतर का उपयोग कर रहे हैं (क्योंकि यह AGGREGATE फ़ंक्शन का उपयोग करता है ) :

=RIGHT(A1,LEN(A1)-AGGREGATE(14,6,FIND({1,2,3,4,5,6,7,8,9,0},A1,ROW(INDIRECT("1:"&LEN(A1)))),1))

A1मान लें : सेल में वह मान है जो आपको अंतिम 2 वर्णों से प्राप्त करने की आवश्यकता है।


1

आप सामान्य रूप से दर्ज किए गए सूत्र का उपयोग कर सकते हैं, जो कि एक्सेल के किसी भी संस्करण में काम करना चाहिए।

=MID(A2,LOOKUP(2,1/ISNUMBER(-MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),ROW(INDIRECT("1:"&LEN(A2))))+1,99)For a non-volatile form, useful if you have a large worksheet, 

या, अस्थिर कार्यों से बचने के लिए, आप एक नाम परिभाषित कर सकते हैं seqजहां:

seq Refers To:  =ROW(INDEX($1:$65536,1,1):INDEX($1:$65536,255,1))

फिर इस सूत्र का उपयोग करें:

=MID(A1,LOOKUP(2,1/ISNUMBER(-MID(A1,seq,1)),seq)+1,99)

व्याख्या

  • seqया Row(Indirect...पूर्णांकों की एक सरणी लौटाते हैं1..n
  • दूसरा MID(...तब स्ट्रिंग में प्रत्येक व्यक्तिगत चरित्र की एक सरणी देता है
  • 1/isnumber(-MID(... फिर एक त्रुटि या 1 की एक सरणी देता है
  • LOOKUP, इस स्थिति में, स्ट्रिंग में पिछले अंकीय मान की स्थिति वापस आ जाएगी। यह सरणी में अंतिम मान से मेल खा रहा है जो लुकअप_वेल्यू से कम है। यह हमें टर्मिनल अल्फा अक्षरों की शुरुआती संख्या देता है।

0

इस छोटे यूडीएफ के बारे में () :

Public Function JunkOnTheRight(sIN As String) As String
    Dim i As Long

    For i = Len(sIN) To 1 Step -1
        If IsNumeric(Mid(sIN, i, 1)) Then
            JunkOnTheRight = Mid(sIN, i + 1)
        Exit Function
        End If
    Next i
End Function

यहाँ छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.