excel计算年龄准确到几岁几月几天
答案:1 悬赏:10 手机版
解决时间 2021-10-13 09:57
- 提问者网友:喧嚣尘世
- 2021-10-12 18:45
excel计算年龄准确到几岁几月几天
最佳答案
- 五星知识达人网友:逃夭
- 2021-10-12 19:01
一、符合如下的条件 1岁以上写岁 1月以上写月, 不足月写天。 二、宏代码 Function GetDateDiff(StartD, EndD) Dim y%, m%, d% If StartD > EndD Or Not IsDate(StartD) Or Not IsDate(EndD) Then GetDateDiff = "数据有误" y = DateDiff("yyyy", StartD, EndD) If DateSerial(Year(EndD), Month(StartD), Day(StartD)) > EndD Then y = y - 1 If y >= 1 Then GoTo 100 m = 12 - Month(StartD) + Month(EndD) Else m = Month(EndD) - Month(StartD) End If If Day(EndD) >= Day(StartD) Or Day(EndD) = Day(DateSerial(Year(EndD), Month(EndD) + 1, 0)) Then If Day(EndD) >= Day(StartD) Then d = Day(EndD) - Day(StartD) If Day(EndD) < Day(StartD) And Day(EndD) = Day(DateSerial(Year(EndD), Month(EndD) + 1, 0)) Then d = Day (DateSerial(Year(StartD), Month(StartD) + 1, 0)) - Day(StartD) Else m = m - 1 d = Day(DateSerial(Year(StartD), Month(StartD) + 1, 0)) - Day(StartD) + Day(EndD) End If If m >= 1 Then d = 0 100: GetDateDiff = IIf(y > 0, y & "岁", IIf(m > 0, m & "月", d & "天")) End Function Sub Get年月日() Dim arr1, arr2() arr = Sheet1.Range("a2:b" & Sheet1.Range("A65536").End(xlUp).Row) ReDim arr2(1 To UBound(arr), 1 To 1) For i = 1 To UBound(arr) arr2(i, 1) = GetDateDiff(arr(i, 1), arr(i, 2)) Next i Sheet1.Range("C2:c" & Sheet1.Range("A65536").End(xlUp).Row) = arr2 End Sub 以上代码是宏代码,在模块中使用。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯