zoukankan      html  css  js  c++  java
  • 如何使用excel计算工龄

    今天一位搞财务的mm问我excel计算工龄的问题,我想了想,还真不会啊。搞测试的,写case,报进度,统计bug一般都是用excel,还真没弄过计算工龄日期生日之类的。

    她的要求是:

          

    居然不会,想了半天想到2个方案:1、用perl写个脚本给她;2、把信息导入数据库,用select 语句查询再把结果导出;

    后来仔细想想,这种不符合她的要求,人家要去用excel解决。于是,我就开始查找excel function,关于日期处理的。

    在一般的编程语言与数据库中,都有取得当前日期与字符串处理的函数,于是我就按照这个思路查找。(她没要求计算出3.5年工龄这样的,只要求给出整年整月的)

    excel取得当前日期的函数是:

      today() 取得系统日期  显示:

    1/2/2013

      now() 取得系统日期和当前时间

    1/2/2013 12:13

    因为不需要系统时间,所以就选today()

    时间处理函数:DATEDIF(start_date,end_date,unit)
    DATEDIF函数的start_date和end_date参数就是起止日期,而unit则是用户希望DATEDIF函数返回的数值是以什么为单位的。Unit单位有六种,

    分别是: "Y":整年 "M":整月 "D":整天 "YM":不到一年的月数 "YD":不到一年的天数 "MD":不到一个月的天数 需要注意的是

    注意:1.DATEDIF函数输入Unit参数时一定要加上双引号。2.start_date<end_date否则会出错

    例子:

    DATEDIF("2001-09-01","2013-01-01","Y")  11

    DATEDIF("2001-09-01","2013-01-01","YM") 4

    DATEDIF("2001-09-01","2013-01-01","MD")  0

    DATEDIF("2001-09-01","2013-01-01","YD")  122

    剩下的就easy了,需要用到是

    excel连接符&

    取得 DATEDIF(A2,B2,"Y")&"-"&DATEDIF(A2,B2,"YM")&"-"&DATEDIF(A2,B2,"MD") 整年 整月 整日 的工

     额外思考:

      如果是身份证号提取出生日期呢?

    首先判断身份证号是不是18位,len(str)

    =if(len(str)=18,true,false)

    截取出生年mid(A2,7,4) 从A2单元格第七位算起,截取4个(7、8、9、10)

    转载请注明出处:http://www.cnblogs.com/tobecrazy/

    软件测试交流QQ群:312937087 we are QA!

  • 相关阅读:
    (转)织梦dedecms自定义表单导出到excel的方法
    安全狗切换账号方法
    控制文字动态输出
    点击/swt/带有标识 直接跳转商务通(3)
    点击/swt/ 带有标识 直接跳转快商通
    点击/swt/直接跳转商务通(2)
    form表单select联动(转)
    表单提交到商务通后台 中文说明加换行的实现方法(转)
    快商通智慧网络营销电话
    自定义一个可以使用foreach语句进行迭代的类(IEnumerable)
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/2842014.html
Copyright © 2011-2022 走看看