एक्सेल में तारीखों के समूह को परिवर्तित करें [बंद]


-5

मैं एक पत्र तिथि कोड को एक तिथि में बदलने की कोशिश कर रहा हूं। उदाहरण: SWITCHGEAR = 1,2,3,4,5,6,7,8,9 & 0। इसलिए जब मैं अक्षरों का एक संयोजन दर्ज करता हूं " SIRISC" तो यह पढ़ जाएगा 13/03/14। मैंने लगभग हर कोशिश की है ताकि कोई मुझे सही दिशा में इशारा कर सके।


आपने क्या प्रयास किया है? एक स्क्रिप्ट समाधान के रूप में अच्छी तरह से? कृपया दिखाएं कि आपने पहले से क्या हासिल किया है।
ड्यूडे

मैंने Vlookup की कोशिश की है, लेकिन मुझे व्यक्तिगत रूप से संख्याओं और अक्षरों के लिए था क्योंकि मैं तारीख दिखाने के लिए 1 सेल में संख्याओं को समामेलित नहीं कर सकता था। मैंने स्क्रिप्ट के बारे में नहीं सोचा है, मैं कोशिश करूंगा।
कैसन

Superuser में पोस्ट करने से पहले एक समाधान का प्रयास करें और इसे पूरा करने में मदद करें कि आप क्या देख रहे हैं।
एम। अब्देलहाफिद

1
नेस्टेड substituteकार्यों का एक गुच्छा का उपयोग करें ।
Raystafarian

क्या आप हमेशा 6 अक्षरों का उपयोग कर रहे हैं? 1 जनवरी 2015 का प्रतिनिधित्व कैसे किया जाता है?
बैरी हुदिनी

जवाबों:


1

यहाँ एक सरणी सूत्र समाधान है। पाठ कोड के लिए A1, सूत्र पट्टी में चिपकाने और Ctrl+ Shift+ दबाकर किसी अन्य कक्ष में दर्ज करें Enter:

=TEXT(SUM(MOD(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"SWITCHGEAR"),10)*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),"00"&CHAR(34)&"/"&CHAR(34)&"00"&CHAR(34)&"/"&CHAR(34)&"00")

इसे तोड़कर:

FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"SWITCHGEAR")SWITCHGEARA1 में कोड के प्रत्येक अक्षर में मिलने वाले सूचकांक संख्याओं की एक सरणी उत्पन्न करता है। आपके उदाहरण के लिए, SIRISCसरणी उत्पन्न करता है {1,3,10,3,1,5}

इस एक्सप्रेशन को लपेटने से MOD(...,10), सरणी बन जाती है {1,3,0,3,1,5}

इस सरणी को फिर सरणी {10^5,10^4,10^3,10^2,10^1,10^0}उत्पन्न करने के लिए सरणी से गुणा किया जाता है {100000,30000,0,300,10,5}

SUMतब इस सरणी में संख्याओं को जोड़ने के लिए उपयोग किया जाता है 130315

TEXTतब कस्टम प्रारूप को लागू करने के लिए उपयोग किया जाता है 00"/"00"/"00ताकि यह संख्या इस रूप में प्रदर्शित हो 13/03/15


1
अच्छा! यदि A1 में हमेशा 6 अक्षर होंगे तो आप =TEXT(SUMPRODUCT(MOD(FIND(MID(A1,{1,2,3,4,5,6},1),"SWITCHGEAR"),10),10^{5,4,3,2,1,0}),"00-00-00")+0वास्तविक समय पर लौटने के लिए इस गैर-सरणी संस्करण को सरल बना सकते हैं
बैरी हुडिनी

.... या आप एमओडी फ़ंक्शन से छुटकारा पा सकते हैं यदि आप इसे इस तरह से करते हैं:=TEXT(SUMPRODUCT(FIND(MID(A1,{1,2,3,4,5,6},1),"RSWITCHGEA")-1,10^{5,4,3,2,1,0}),"0-00-00")+0
बैरी हुडिनी

0

माना जा रहा है कि:

  1. पाठ SIRISC में है A1

  2. में Sheet2 A1 डाल करने के लिए हैRSWITCHGEA

फिर, इस फॉर्मूला को सेल शीट 1 बी 1 पर आज़माएँ :

=CONCATENATE(FIND(MID(A1,1,1),Sheet2!A1,1)-1,FIND(MID(A1,2,1),Sheet2!A1,1)-1,"/",FIND(MID(A1,3,1),Sheet2!A1,1)-1,FIND(MID(A1,4,1),Sheet2!A1,1)-1,"/",FIND(MID(A1,5,1),Sheet2!A1,1)-1,FIND(MID(A1,6,1),Sheet2!A1,1)-1)

0

पत्र संयोजन वाली कोशिकाओं का चयन करें और इस छोटे मैक्रो को चलाएं:

Option Base 1
Sub DateMaker()
    Dim r As Range
    a = Array("S", "W", "I", "T", "C", "H", "G", "E", "A", "R")
    b = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0")
    For Each r In Selection
        t = r.Text
        For i = 1 To 10
            t = Replace(t, a(i), b(i))
        Next i
        r.Value = DateSerial(CInt("20" & Right(t, 2)), CInt(Mid(t, 3, 2)), CInt(Left(t, 2)))
        r.NumberFormat = "dd/mm/yy"
    Next r
End Sub

तो अगर आप के साथ शुरू:

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

आप के साथ समाप्त होगा:

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

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