求助!!EXCEL!!!!!

给出自己和父母的身份证号(必须是18位的,父母的如果不方便也可以用长辈的),分别用VBA和公式求出性别,出生日期(如1982-01-01),年龄,和是否闰年出生。
性别是倒数第二个数字判断 奇数是男性 偶数是女性
闰年就是给400整除
年龄我不知道怎么弄。。
性别那个语句我怎么输入怎么错 而且其他要求我不会做啊 求各位大神鼎力相助。。。。告诉我分别输入什么语句求。。。
性别我按照各位大神的都输了一遍。。。还是出不来结果的?????

性别
=IF(MOD(MID(B3,17,1),2),"男","女")
出生日期(自已设置单元格格式为yyyy-mm-dd)
=DATE(MID(B3,7,4),MID(B3,11,2),MID(B3,13,2))
年龄
=DATEDIF(D3,TODAY(),"Y")
是否闰年
=IF(AND(OR(MOD(YEAR(D3),4)=0,MOD(YEAR(D3),400)=0),MOD(YEAR(D3),100)<>0),"是","否")

VBA法
右键单击工作表标签
查看代码
粘贴如下公式,回到工作表,按CTRL+F8,运行这个代码即可
需要源文件,可以追问留下邮箱给你发过去

Sub VBA法()
Application.ScreenUpdating = False
For i = 3 To Range("B65535").End(xlUp).Row
yy = Mid(Range("B" & i), 7, 4) 'å¹´
mm = Mid(Range("B" & i), 11, 2) '月
dd = Mid(Range("B" & i), 13, 2) '日
If Len(Range("b" & i)) = 18 Then
'性别
If Mid(Range("b" & i), 17, 1) Mod 2 = 1 Then
Range("G" & i) = "男"

Else
Range("G" & i) = "女"
End If
'出生日期
Range("H" & i) = yy & "-" & mm & "-" & dd
'年龄
Range("I" & i) = DateDiff("yyyy", Range("H" & i), Date)
'闰年
If (yy Mod 4 = 0 Or yy Mod 400 = 0) And yy Mod 100 <> 0 Then
Range("J" & i) = "是"
Else
Range("J" & i) = "否"
End If
Else: Exit Sub: End If
Next
Application.ScreenUpdating = True
End Sub

针对你补充的问题,充分肯定你的C列为文本格式.你需要将C列格式设置为常规,再重新输入一下公式就OK了..
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-23
性别:=IF(MOD(MID(A1,17,1),2),"男","女")
闰年:=IF(MOD(MID(A1,7,4),4)<>0,"平年",IF(MOD(MID(A1,7,4),100)<>0,"闰年",IF(MOD(MID(A1,7,4),400)<>0,"平年","闰年")))
生日:=DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2))
年龄(约数):=INT((TODAY()-DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))/365)
准确年龄:给你个思路:给上式加上一个生日当天判断.....呵呵..
第2个回答  2012-06-23
性别=IF(MOD(MID(B3,17,1),2),"男","女")
出生日期=DATEVALUE(MID(B3,7,4)&"/"&MID(B3,11,2)&"/"&MID(B3,13,2))
年龄=YEARFRAC(D3,TODAY())
闰年=IF(MOD(--MID(B3,7,4),400),"否","是")

你用
性别=IF(MOD(--MID(B3,17,1),2),"男","女")
试试可不可以
第3个回答  2012-06-23
性别=IF(MOD(MID(B2,17,1),2),"男","女") 格式:常规
诞辰=DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2)) 自定义格式:yyyy-mm-dd
年龄=YEAR(TODAY())-YEAR(D2) 格式:常规
闰年=IF(MOD(YEAR(D2),400),"否","闰年")
公式能完成还要vba干嘛
第4个回答  2012-06-23
简单算年龄好办,要是精确到月和日用公式就不太好做了,只有用vba
其它都好办
性别公式: =IF(MOD(MID(B3,17,1),2)=0,"女","男")
出生日期公式:=MID(B3,7,4) & "-" & MID(B3,11,2) & "-" & MID(B3,13,2)
年龄公式:=YEAR(NOW())-MID(B3,7,4)
是否闰年:=IF(MOD(MID(B3,7,4),4)=0,"是","否")
第5个回答  2012-06-23
默认不会的,你的第二列太长,在第三列显示,当你在第三列填写数据,它会自动消失。 没有找到“显示为止”的选项,只有在格式-单元格-对齐 中有自动...
相似回答