对用Excel批量计算年龄的补充
在用软件教室里面的《巧用Excel批量计算年龄》的方法对全校学生的年龄进行计算时,发现不能完全满足我们的要求。这是因为:
1. 计算学生从出生年月到统计年月(如2003年8月31日)的周岁,忽略了月份。如1996年5月和1996年10月出生的两个学生,分别是7岁和6岁,而计算的结果都是7岁。
2. 要求保持“出生年月”、“统计年月”单元格的“日历”属性,以方便其他数据库软件的调用,如1996年5月21日,在数据输入时要采用Excel认可的日期格式(如1996-5-27),而不能为了计算方便输入成1996.5。
我们的办法是:
1. 在Excel中打开“全校学生花名册”文件(此文件已在开学初完成,其中含全校学生的姓名(A列)、性别(B列)、出生年月(C列)等信息)。
2. 在数据库文件中新建一列(D列),并命名为“统计年月”,在D2中(第一个学生对应的单元格)输入“2003-8-31”,然后将鼠标移到此单元格的右下角,光标变成“+”后,按住[Ctrl]键(切记),此时光标会变成两个“+”,向下拖动复制单元格,快速完成每个学生“统计年月”的输入。
3. 再在文件中新建一列(E列),并命名为“年龄”,鼠标点击表头上的E,选中此列,单击菜单[格式]→[单元格]→[数字],选择“数值”,并将“小数位数”设为0。在E2(第一个学生对应的单元格)输入“=(YEAR(D1)-YEAR(C1))+IF((MONTH(D1)-MONTH(C1))<0,-1,0)”就可求出该学生的年龄,其中IF语名是判断学生的出生月份是否超过8月,如超过则要用年份之差再减1。第一个学生年龄计算出来后,将鼠标移到此单元格的右下角,光标变成“+”后,向下拖动复制单元格,快速完成每个学生“年龄”的计算。