एक्सेल 2013 में, 2 तिथियों, 1 या अधिक 1900 के बीच के वर्षों, महीनों और दिनों की गणना के लिए सूत्र की आवश्यकता है


0

एक्सेल 2013 में, मुझे दो तिथियों के बीच वर्षों, महीनों और दिनों की गणना करने के लिए सूत्र बनाने की आवश्यकता है, यदि एक या दोनों तिथियां 1900 से पूर्व की हैं
उदाहरण के लिए: 5/20/1896 - 12/11/2004 = 108 साल, 6 महीने, 21 दिन,
या 7/19/1757 - 3/17/1858 = 100 साल, 7 महीने, 26 दिन।


1
गणना से पहले प्रत्येक तिथि में सिर्फ 2000 साल जोड़ने के बारे में क्या?
माते जुहेज़

जवाबों:


0

Máté Juhász के सुझाव को लागू करने के लिए

कोशिकाओं A1 और A2 में दिनांक (स्ट्रिंग्स के रूप में) रखें । में बी 1 दर्ज करें:

= DATEVALUE (LEFT (A1, LEN (A1) -4) & RIGHT (A1,4) +2000)

और नीचे की ओर कॉपी करें। फिर एक अन्य सेल में, चिप पियर्सन का सूत्र दर्ज करें :

=DATEDIF(B2,B1,"y") & " years, " & DATEDIF(B2,B1,"ym") & " months, " & DATEDIF(B2,B1,"md") & " days"

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

VBA का उपयोग करने के लिए:

निम्नलिखित उपयोगकर्ता परिभाषित फ़ंक्शन (UDF) पर विचार करें:

Public Function ddif(d1 As Date, d2 As Date) As String
    Dim years As Long, months As Long, days As Long

    years = 0
    months = 0
    days = 0
    year1 = Year(d1)
    month1 = Month(d1)
    day1 = Day(d1)

    Do
        If DateSerial(year1 + years, month1, day1) = d2 Then
            GoTo finished
        End If
        If DateSerial(year1 + years, month1, day1) > d2 Then
            years = years - 1
            Exit Do
        End If
        years = years + 1
    Loop
    Do
        If DateSerial(year1 + years, month1 + months, day1) = d2 Then
            GoTo finished
        End If
        If DateSerial(year1 + years, month1 + months, day1) > d2 Then
            months = months - 1
            Exit Do
        End If
        months = months + 1
    Loop
    Do
        If DateSerial(year1 + years, month1 + months, day1 + days) = d2 Then
            GoTo finished
        End If
        days = days + 1
    Loop
finished:
    ddif = years & "  " & months & "  " & days
End Function



वर्ष, महीने और दिन उनके बीच एक ही स्थान के साथ वापस आ जाएंगे।

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

उपयोगकर्ता परिभाषित कार्य (UDF) स्थापित करने और उपयोग करने के लिए बहुत आसान हैं:

  1. ALT-F11 VBE विंडो लाता है
  2. ALT-I ALT-M एक नया मॉड्यूल खोलता है
  3. सामान पेस्ट करें और VBE विंडो बंद करें

यदि आप कार्यपुस्तिका को सहेजते हैं, तो इसके साथ UDF सहेजा जाएगा। यदि आप बाद में 2003 के एक्सेल के संस्करण का उपयोग कर रहे हैं, तो आपको .xlsx के बजाय .xlsm के रूप में फ़ाइल को सहेजना होगा

UDF को हटाने के लिए:

  1. ऊपर के रूप में VBE विंडो लाएं
  2. कोड साफ़ करें
  3. VBE विंडो बंद करें

Excel से UDF का उपयोग करने के लिए:

= Myfunction (A1)

सामान्य रूप से मैक्रोज़ के बारे में अधिक जानने के लिए, देखें:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

तथा

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

और UDFs की बारीकियों के लिए, देखें:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

इसके लिए मैक्रोज़ को सक्षम होना चाहिए!

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