中企动力 > 商学院 > excel两个日期之间的月数
  • ?

    怎么在excel中算过去某一天到今天的天数?

    Freya

    展开

    两个日期之间一共过去了多少天可以把两个日期直接相减即可,在excel当中,today函数返回当天的日期,那么我们可以使用  =TODAY()-DATE(2016,12,4)  ,表示2016年12月4日到今天2016年12月5日过去了一天,如图:

    同理,比如我们要计算1988年12月4日距离今天过去了多少天,只需要输入公式 =TODAY()-DATE(1988,12,4)  返回结果是 10288天,如图

    (本文内容由百度知道网友huang1314wei贡献)

  • ?

    49个Excel常用技巧,学会了你就不用再加班了!

    潘睿渊

    展开

    1、excel判断分数成绩是否及格,怎么做?

    答:excel判断分数成绩是否及格可以用IF进行区间判断。

    =IF(A1>60,"及格","不及格")

    2、excel频率统计用什么函数?

    答:FREQUENCY以一列垂直数组返回某个区域中数据的频率分布

    3、excel什么时候要用$符号呢?

    答:复制公式时,单元格的引用位置不想发生变化时,就在行号或列标前加$

    4、合并单元格后里面的数据或文字我都想保留如何处理?

    答:多个单元格都含有内容,如果要在合并后保留所有单元格的内容,可以用下面的方法。

    1.选取单元格区域,并把列宽拉到可以容下所有单元格合并后的宽度。

    2.开始选项卡 - 编辑 - 两端对齐。把多个单元格的内容合并到一个单元格中

    3.在分隔的空格处按alt+enter键添加强制换行符,换行。

    4.再合并单元格

    5、插入表格后发现行数不够,怎样才能再次快速插入更多行?

    答:需要插入多少行就选取多少行,然后就会一次插入多少空行

    6、合并单元格后里面的数据或文字我都想保留如何处理

    答:多个单元格都含有内容,如果要在合并后保留所有单元格的内容,可以用下面的方法。

    1.选取单元格区域,并把列宽拉到可以容下所有单元格合并后的宽度。

    2.开始选项卡 - 编辑 - 两端对齐。把多个单元格的内容合并到一个单元格中

    3.在分隔的空格处按alt+enter键添加强制换行符,换行。

    4.再合并单元格

    7、如何复制粘贴行宽

    答:粘贴后的粘贴选项中,会有 保留源列宽的选项。如下图所示

    8、excel如何把数值批量转换成文本

    答:数据 - 分列 - 第三步选文本

    9、excel如何把空值全部填写为“0“

    答:定位 - 条件 - 空值 - 在编辑栏中输入 0,按 ctrl+enter完成输入

    10、excel2010的插入特殊符号在哪里?

    excel2010版本的特殊符号, 很多同学在搜这个问题 ,可以肯定的说excel2010版本里没有这个命令的。大家不用再费心找了,如果要插入符号,可以从插入选项卡 - 符号 里找找。

    11、excel如何去掉地址栏的名称

    excel如何去掉地址栏的名称,excel2003版,插入菜单 - 名称 - 定义 - 在弹出的窗口找到该名称 点删除按钮 ,2010版,公式选项卡 - 名称管理器 -找到名称点删除

    12、如何按日期显示星期?

    问:excel如何按日期显示成星期

    答:公式

    =TEXT(A2,"aaaa")

    =WEEKDAY(A2,2)

    也可以通过格式设置把日期显示成星期

    13、excel如何隐藏公式?

    在excel里,如何隐藏公式,让公式别人看不到呢?

    答:在excel里隐藏公式是通过设置单元格格式设置的。

    选取公式所在单元格,右键菜单中点设置单元格格式,然后在弹出的单元格格式窗口点保护选项卡,勾选隐藏公式选项。

    最后通过工具 - 保护 -保护工作表(excel2010里是通过 审阅 - 保护工作表)。然后在单元格或编辑栏里就看不到公式了。

    14、excel表格中下拉复制数字时,为什么不变大呢?怎么才能递增?

    答:复制数字时,只需要按ctrl键再下拉,数字就会发生变化了。

    15、excel中平方函数是哪个?

    excel中平方函数是哪个?

    在excel中我们有时需要计算一个数的平方,该怎么计算呢,excel提供了两种方法

    1 使用脱字节符号^

    例 3的2次方可以写成 =3^2 结果是9

    2 使用平方函数

    =POWER(3,2) 表示3的2次方,如果是4的3次方可以写为=POWER(4,3)

    16、excel合并单元格复制公式怎操作呀

    excel表格中,如果想在合单元格中复制公式,会提示大小一样中断你的复制,这时候我们可以用快捷键填充公式。

    选中所有包含合并单元格的区域(第一个单元格要含公式),双击编辑栏中公式,然后按ctrl+回车键填充即可。

    17、excel数字不能求和,怎么办?

    数据导入Excel中后居然是以文本形式存在的(数字默认是右对齐,而文本是左对齐的),即使是重新设置单元格格式为数字也无济于事。

    下面的方法可以帮你快速转换成可以计算的数字

    选取数字区域,第一个单元格一定是包括数字的,而且单元格左上方有绿三角,选取后打开绿三角,点转换为数字。如下图所示

    18、excel产生随机数,怎么做?

    答:excel提供了一个可以生成随机数的函数rand,用它可以生成指定范围的随机数

    =rand()*(最大数-最小数)+最小数。比如生成 10~100之间的随机数

    =rand()*90+10

    如果要生成随机的整数呢

    =int(rand()*90+10 ) 也可以用=RANDBETWEEN(1,100)

    19、excel中如何开根号

    问:excel里开根号怎么做,例如 9开2次方,结果是3

    答:在excel里开根号可以用^符号完成,如

    9^(1/2)的结果是3

    20、excel筛选用不了

    问:在excel中使用自动筛选时,可用不了了,怎么回事?

    答:导致筛选无法使用有很多原因,最常见的原因是工作表或工作簿被保护了,你可以检查一下是不是工作表添加了保护密码。

    21、四分之一怎么打

    答:先输入0 然后再输入空格,再输入1/4。

    22、excel中如何限制使用筛选按钮

    答:excel中如何限制使用筛选按钮呢?答案可能出乎大家的意料之外,如果你是EXCEL2003的用户,可以执行:工具菜单 - 选项 - 视频 - 对象选择全部不显示,你再看看自动筛选已先法再使用了。

    23、Excel偶数行怎么选取和删除?

    答:excel选取偶数行有很多方法,但最好的方法还是辅助列+自动筛选方法。具体的步骤为

    1.在最后的辅助列中,在2行输入数字1,选取1行和2行向下拖动复制,复制后辅助列的偶数行为填充成1。

    2.筛选 - 自动筛选,选取值为1的行。

    3.选取所有显示的偶数行区域。

    如果是删除偶数行,直接删除筛选出的偶数行即可。

    24、EXCEL里隐藏的第一行显示出来

    答:选取第二行,然后拖动向上选取,取消隐藏,或者 全选,格式 - 行 - 取消隐藏

    25、excel打开默认设置成03版,如果做

    设置默认打开03版的方法;

    到excel 2003 的安装目录,把03版的excel.exe 改成 excel2003.exe,然后就可以按正常的方法设置默认打开excel 文件为03版的

    26、excel表格计算公式不能用了

    表格中的公式仍然存在,但是更改了其中一个单元格的数字,其公式结果怎么不变了呢?就是两两相乘的公式,之前都是自动更新出结果,现在不得行了

    输入新的数字,仍然是原来的结果

    答:工具菜单 - 选项 - 重新计算 你看看是手动还是自动

    27、excel每页显示表头,怎么设置?

    问:在打开表格时,因为表格比较长,怎么在每一页的最上面设置表头。

    答:在EXCEL打印预览视图中,打开“页面设置”对话框中的“工作表”标签,单击“顶端标题行”文本框右侧的[压缩对话框]按钮,选定表头和顶端标题所在的单元格区域,再单击该按钮返回到“页面设置”对话框,单击[确定]按钮。

    28、excel多条件求和函数有哪些

    在EXCEL里,有哪些函数可以完成多条件求和呢?

    SUMIF函数和COUNTIF函数用法差不多.多条件的处理方法如下:

    1.多项目求和

    =SUM(SUMIF(B31:B35,{"A","C"},C31:C35))

    2.03版本可以用SUMPRODUCT函数替代.

    =SUMPRODUCT((MONTH(A3:A9)=3)*(B3:B9="A")*C3:C9)

    3.07版本可以用SUMIFS替换:

    =SUMIFS(D2:D11,A2:A11,"单位1",B2:B11,"人事部")

    多条件汇总,也可以用SUMPRODUCT函数完成。

    =SUMPRODUCT(条件1 *条件2*条件3*数据列)

    =sumproduct((a1:a10="财务")*(b1:b10="出纳")*c1:c10)‘统计A列是财务,同时B列是出纳的C列数据之和

    29、怎么计算两日期相隔多少月零多少天?

    在excel里计算怎么计算两日期相隔多少月零多少天,可以用DATE和DATEDIF函数配合着计算。比如A1是开始日期,B1是结果日期,C1是相隔多少月,可以这样设置公式

    =DATEDIF(A2,B2,"M")

    D1相隔C1月还零多少天,可以这样设置公式

    =B2-DATE(YEAR(A2),MONTH(A2)+C2,DAY(A2))

    30、excel表格内如何换行?

    问:我想在excel单元格中输入文本时,怎么换到下一行呢?答:excel单元格内换行可以用插入换行符的方法。比如要输入中国 然后换下一行 河南。

    1.输入“中国”,按ATL+回车键后换到下面一行

    2.输入河南

    31、excel表格怎么开根号?

    答:在excel里开根号可以用乘方来运算,可能大家很疑惑,开根号怎么用乘方的算式呢?

    原来在EXCEL里,可以用^数字来表示乘方运算,如3^2,表示3的2次方,结果为9,而如果^后的数字是分数则可以进行开方运算。如

    9^(1/2)就可以运算9的开方。结果为3

    32、平方米(M2)符号怎么打?

    答:在excel里,输入平方米符号可以先输入M2,然后选中2,按CTRL+1打开单元格设置对话框,然后勾选上标。

    33、Excel文件打开乱码怎么办?

    答:Excel文件有打开会出现一些乱码文字,这时候该怎么办呢?下面是搜集自网络的一些解决方法,希望能对大家有用。

    招数一:将工作簿另存为SYLK格式

    如果Excel文件能够打开,那么将工作簿转换为SYLK格式可以筛选出文档的损坏部分,然后再保存数据。

    首先,打开需要的工作簿。在“文件”菜单中,单击“另存为”命令。在“保存类型”列表中,单击“SYLK(符号连接)(*.slk)”,然后单击“保存”按钮。关闭目前开启的文件后,打开刚才另存的SYLK版本即可。

    招数二:转换为较早的版本

    如果由于启动故障而没有保存Excel工作簿,则最后保存的版本可能不会被损坏。当然,该版本不包括最后一次保存后对文档所作的更改。

    关闭打开的工作簿,当系统询问是否保存更改时,单击“否”。在“文件”菜单中,单击“打开”命令,双击该工作簿文件即可。

    招数三:打开并修复工作簿

    如果Excel文件根本不能够使用常规方法打开,那么可以尝试Excel 2003中的“打开并修复”功能,该功能可以检查并修复Excel工作簿中的错误。

    在“文件”菜单中,单击“打开”命令。通过“查找范围”框,定位并打开包含受损文档的文件夹,选择要恢复的文件。单击“打开”按钮旁边的箭头,然后单击“打开并修复”即可。

    招数四:用Excel查看程序打开工作簿

    在用尽各种方法仍不能解决问题的情况下,大家不妨考虑一下使用第三方软件开展恢复工作.下面的链接是一个经过实际检验的Excel恢复软件,你可以通过此软件达到恢复您Excel数据的目的。

    希望大家都能解决这个文件乱码的问题。

    34、excel如何冻结窗格

    例:你要冻结前三行前两行,那么你可以选中C4单元格,然后执行窗口(excel2010版 视图) - 冻结窗格

    35、SUMIF函数是易失性函数吗?

    答:SUMIF函数本身不是易失性函数,但当SUMIF第一个参数和第三个参数区域大小不致时,会有易失性函数的特征。不修改数据也会在关闭时提示文件是否保存

    36、如何更改EXCEL撤销次数?

    到注册表(不知道,在开始运行里输入regedit回车即可)

    到以下位置!!!!我的是office2003!!!!在11.0处可能有所不同!

    [HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options]

    新建dword值 键名为UndoHistory (双击名称)值为10进制,输入数值为30。即可

    37、excel如何打印不连续区域

    答:按CTRL键不松,选取区域,再点文件菜单中的打印区域--设置打印区域

    38、excel万元显示如何设置?

    160000元 用16万元表示 如何设置

    我理解!的作用是把后面的这个字符作为符号处理,换句话说:

    #!.0,万元 和 #"."0,万元 这两种写法的作用、意义都是完全相同的

    输入3451 显示3#451 单元格格式怎样设定

    自定义格式:0!#000

    也可以0"#"000

    39、VLOOKUP(B3,IF({1,0}是什么意思?

    =VLOOKUP(B3,IF({1,0},G$3:G$5,F$3:F$5),2,0)

    公式中的 IF({1,0},G$3:G$15,F$3:F$15)作何解释?

    理解:{1,0}的含义是1代表TRUE(即逻辑值为真),0代表FALSE(即逻辑值为假),公式为

    =VLOOKUP(B3,IF({TRUE,FALSE},G3:G17,F3:F17),2,0)也同样正确,这样更好理解.通过执行IF({TRUE,FALSE},G3:G17,F3:F17)为真,得到G3:G17这列数,由于是数组,再执行FALSE得到F3:F17,因此得到一个2列多行的数组.

    40、excel密码忘记了怎么办?凉拌?

    如果excel密码忘记了,不要急。可以用officekey工具解除密码。

    工作簿密码,工作表密码和VBA密码都可以解

    41、excel页眉页脚怎么设置?

    答:设置excel的页眉页脚的方法是:

    excel2003中,文件菜单 - 页面设置 - 页眉/页脚 选项卡中

    excel2007和excel2010中,页面布局选项卡 - 打印标题 - 页眉/页脚 选项卡中

    42、excel分类汇总,如何做?

    答:excel分类汇总是一个简单实用的数据汇总工具。先对单元格进行排序,然后执行数据菜单-分类汇总就OK了.具体的制作方法

    43、Excel锁定单元格不让编辑怎么做

    答:默认状态下,excel单元格是锁定状态。但为什么锁定还可以编辑呢。因为少了一步保护工作表,保护工作表后,就无法再编辑单元格了。

    也许你会问,我想让编辑其中一部分单元格怎么办?凉拌,只需要把需要编辑的通过右键--设置单元格格式--保护--去掉锁定前的勾即可。

    44、excel打不开怎么办?

    答:excel文件打不开,原因有很多种。

    1.文件损坏。这时只有找一些专业修复软件才可以。

    2.加载宏文件,加载宏文件是隐藏窗口的。可以加载宏文件xla或xlam改为正常的xls文件和x...

  • ?

    还在板着指头算每月工作天数?这个简单的Excel函数10秒钟搞定

    Mora

    展开

    要自动计算两个日期之间的法定上班天数,最常用的方法是用networkdays函数来做。

    案例1

    如下图所示,请计算一下开始日期与结束日期之间的法定工作天数?

    方法:直接在C7单元格输入公式:

    =networkdays(A7,B7)

    复制公式至C7:C21单元格区域即可。

    思路:此公式省略了networkdays函数的第3参数,也就是咱们只是去掉了周末,不考虑法定节日。

    如果我们要考虑除去法定节假日,Networkdays函数第3参数不能省略。下图右侧的表格是2018年的法定节日表,我们要得到实际的上班天数,

    方法:输入公式

    =NETWORKDAYS(A7,B7,$G$6:$M$12)

    思路:networkdays函数的第3参数为G6:M12单元格区域的日期,公式向下复制时这片区域不能变,因此使用绝对引用。

    案例1中省略第3参数与不省略第3参数的结果分别如下图所示:

    案例2

    如下图所示,请计算2018年2月的法定上班天数有多少天?

    方法:输入如下公式即可得到准确的结果

    =NETWORKDAYS("2018-02-01",EOMONTH("2018-02-01",0),$G$6:$M$12)

    思路:在networkdays及Eomonth函数中,直接输入日期需要加英文引号;由于不清楚2018年2月是闰月与否,我们直接使用Eomonth函数返回2018年2月的最后一天的具体日期。

  • ?

    Excel使用VBA操作筛选两个日期间数据

    Felton

    展开

    今天需要做一个通过VBA筛选数据的功能。因为自己用Excel筛选功能筛选两个日期之间的数据很麻烦,要点很多下。领导问有没有办法简化。输入两个日期值就能直接筛选出来。私信VBA筛选可以获得源文件。

    测试数据

    输入条件

    筛选结果

    按钮1的源码:

    Sub test()

    Dim cnn As New ADODB.Connection

    Dim rs As New ADODB.Recordset

    Dim sql As String

    Dim mybook As String

    mybook = ThisWorkbook.FullName

    With cnn

    If Application.Version = "11.0" Then

    .Provider = "microsoft.jet.oledb.4.0"

    .ConnectionString = "extended properties=""excel 8.0;HDR=YES;IMEX=1"";data source=" & mybook

    Else

    .Provider = "microsoft.ACE.oledb.12.0"

    .ConnectionString = "extended properties=""excel 12.0;HDR=YES;IMEX=1"";data source=" & mybook

    End If

    .Open

    End With

    With Worksheets("计算")

    rq1 = .Range("b1")

    rq2 = .Range("b2")

    End With

    sql = "select * from [database$a1:j] where [recorded day_记录日期] between #" & Format(rq1, "yyyy-mm-dd") & "# and #" & Format(rq2, "yyyy-mm-dd") & "#"

    rs.Open sql, cnn, adOpenKeyset, adLockOptimistic

    With Worksheets("sheet1")

    .Cells.Delete

    For j = 0 To rs.Fields.Count - 1

    .Cells(1, j + 1) = rs.Fields(j).Name

    Next

    .Range("a2").CopyFromRecordset rs

    End With

    End Sub

  • ?

    Excel函数公式:含金量超高的9个日期函数公式,必需掌握

    百花残

    展开

    日期函数在我们的日常生活中也是非常的常用的,如果能够熟练掌握,将会对你的工作效率有很大的提高。

    一、Today函数:返回当前日期。

    方法:

    1、函数法:在目标单元格输入公式:=TODAY()。

    2、快捷键法:Ctrl+;。

    二、Now函数:返回当前日期和时间。

    方法:

    在目标单元格输入公式:=NOW()。

    三、TEXT+MID:提取出生日期。

    方法:

    在目标单元格输入公式:=TEXT(MID(C3,7,8),"00-00-00")。

    四、Datedif函数:计算年龄。

    方法:

    在目标单元格输入公式:=DATEDIF(D3,TODAY(),"y")。

    解读:

    1、Datedif函数是Excel的隐藏函数。其主要功能是计算两个日期之间相差的年数、月数、日数等。

    2、参数y指定的类型为年。

    五、Text函数:计算星期。

    方法:

    在目标单元格中输入公式:=TEXT(D3,"aaaa")。

    六、显示周末日期。

    方法:

    1、选定需要设置的日期。

    2、【条件格式】-【新建规则】-【使用公式确定要设置格式的单元格】。

    3、输入公式:=weekday(d3,2)>5。

    4、单击【格式】-【填充】,选取填充色,【确定】-【确定】。

    解读:

    公式=weekday(d3,2)>5中,当单数为2时,1、2、3、4、5、6、7分别代表星期一至星期天。如果计算出的日期(最终表现位数字)大于5,则填充为红色。

    七、Text函数:计算上班时长 。

    方法:

    在目标单元格中输入公式:=TEXT(D3-C3,"H小时")。

    八、合同到期提醒功能。

    方法:

    在目标单元格输入公式:=IF((C3-TODAY())<10,"合同快到期了","")。

    解读:

    1、如果两个日期的差值小于10天,则进行提醒“合同快到期了”。

    2、如果大于等于10天,则返回空值。

    九、计算还款日期。

    方法:

    在目标单元格中输入公式:=EDATE(C3,D3)。

  • ?

    Excel函数公式:最具价值的日期函数

    凯特明讷

    展开

    实际的工作中经常会遇到日期计算的问题,例如计算两个日期之间的天数,月数等。处理这列问题时我们就需要用到Excel中的日期函数。

    而我们熟知的YESR,MONTH等函数是无法计算日期之间的间隔的,这时需要用到Excel中一个极具价值的函数,同时她也是Excel中的隐藏函数,在函数列表和帮助文件中都是找不到的。她就是DATEDIF函数。

    一、DATEDIF函数的语法解析及基础用法。

    作用:用于计算两个日期之间的天数,月数,年数。

    语法:DATEDIF(start_date,end_date,unit)。

    1、start_date:必需。代表时间段内的起始日期,可以是带引号的日期文本字符串,比如“2016-8-8”,也可以是日期序列值、其他公式或者函数返回的运算结果,比如DATE(2016,8,8)等等。

    2、end_date:必需。代表时间段内的结束日期,结束日期要大于起始日期,否则将返回错误值#NUM!。

    3、unit:必需。代表日期信息的返回类型,该参数不区分大小写,不同的unit参数对应返回的结果如下表所示。

    Unit参数

    Y:日期时间段中的整年数

    M:日期时间段中的整月数

    D:日期时间段中的天数

    MD:日期时间段中天数的差。忽略日期中的月和年

    YM:日期时间段中月数的差。忽略日期中的日和年

    YD:日期时间段中天数的差。忽略日期中的年

    示例:

    二、DATEDIF函数根据身份证号计算年龄。

    方法:

    在目标单元格输入公式:=DATEDIF(TEXT(MID(B3,7,8),"00-00-00"),NOW(),"y")。

    三、DATEDIF函数根据入职日期计算工龄。

    方法:

    在目标单元格输入公式:=DATEDIF(C3,NOW(),"y")。

    备注:

    如果将工龄要精确到日,可以用公式:=TEXT(SUM(DATEDIF(C3,NOW(),{"y","ym","md"})*10^{4,2,0}),"0年00月00天")。

    四、DATEDIF函数计算工龄工资。

    方法:

    在目标单元格中输入公式:=50*MIN(20,DATEDIF(B3,NOW(),"y"))。

  • ?

    EXCEL-15个日期与时间函数的用法解析

    全凡旋

    展开

    1,DATE函数—将数组转换为日期。

    2,DATEDIF函数—计算两个日期间隔的时间。

    3,DAY函数—返回指定日期对应的天数。

    4,DAYS360函数—返回两日期间相差的天数。

    5,EDATE函数—返回表示某个日期相隔月份的序列号。

    6,EOMONTH函数—返回某个月份最后一天的序列号。

    7,HOUR函数—返回时间值的小时数。

    8,MINUTE函数—返回时间值中的分钟。

    9,MONTH函数—返回以序列号表示的日期中的月份。

    10,NETWORKDAYS函数—返回两日期 之间的工作日数值。

    11,WEEKNUM—返回特定日期的周数。

    12,WEEKDAY—返回某日期为星期几。

    13,WORKDAY—返回在某日期相隔指定工作日的日期值。

    14,SECOND—返回时间值的秒数。

    15,YEAR函数—返回某日期对应的年份。

  • ?

    从头细说Excel的日期运算

    萧然

    展开

    刚好有两个读者对获取日期间隔数有疑问,卢子今天就进行详细说明。

    1.如何计算两个日期之间相差的天数?

    日期其实就是特殊的数字,数字是可以进行加减运算,两个日期相差的天数就是当天的日期减去入库的日期。在运算的时候,计算出来的天数是以日期的形式显示,需要再将单元格设置为常规格式。

    有的时候,我们用VLOOKUP函数查找日期,公式设置完后将单元格设置为日期格式。这时会看见1900/1/0这样的日期,怎么回事呢?

    当查找的对应值是空白单元格,就会返回0,而0设置为日期格式就是1900/1/0,数字1的日期就是1900/1/1。

    在Excel中的日期起点是1900/1/1,不允许日期在1900之前,比如1899/12/1其实不能算日期,只能算一个文本内容。如果你不信,可以用ISNUMBER函数判断,如果是数字就返回TRUE,否则就返回FALSE。

    将日期设置为常规格式,就可以看到相对应的数字。

    同理,时间也是数字,也可以进行四则运算。

    不过时间在相加的时候,需要注意,当时间超过24小时的时候,运算会出错。一周上班总时间很明显不是4:45,针对这种问题又该如何解决?

    嵌套一个TEXT函数,[h]就表示超过24小时显示实际小时数。

    2.如何计算两个日期之间相差的月份和天数?

    从上一个案例知道,日期是数字,可以直接进行四则运算。但是,问题来了,如果直接用四则运算,是没法判断两个日期相差几个月,因为每个月的天数是不固定的。

    这时就出现一个DATEDIF函数,这个函数可以获取两个日期相差的年月日。这是隐藏函数,跟普通函数有所区别,在输入的时候没任何提示。即使你输入date也看不到任何关于这个函数的信息,所以当你输入函数的时候,找不到是很正常的。

    计算两个日期相差的年月日,y代表年,m代表月,d代表日。

    =DATEDIF(A2,B2,"y")=DATEDIF(A2,B2,"m")=DATEDIF(A2,B2,"d")

    不过这种算法又有一个问题,在计算月的时候没有忽略年,在计算日的时候没有忽略月。因此,出现了一种新的方法,ym代表忽略年计算月,md代表忽略月计算日。

    =DATEDIF(A2,B2,"y")=DATEDIF(A2,B2,"ym")=DATEDIF(A2,B2,"md")

    现在要计算两个日期相差多少个月多少天,只需要将刚刚说的知识点结合起来,用&起来即可。

    =DATEDIF(A2,B2,"m")&"个月"&DATEDIF(A2,B2,"md")&"天"

    其实,公式并不难,不要想着一步登天,慢点再慢点,坚持一起学习,你会学到很多有用的知识。

  • ?

    2017年最全的excel函数大全6—日期和时间函数(上)

    阎涵瑶

    展开

    上次给大家分享了《2017年最全的excel函数大全(5)——逻辑函数》,这次分享给大家日期和时间函数(上)。

    DATE 函数

    返回特定日期的序列号

    描述

    DATE 函数返回表示特定日期的连续序列号。

    用法

    DATE(year,month,day)

    DATE 函数用法具有下列参数:

    ü Year:必需。year 参数的值可以包含一到四位数字。Excel 将根据计算机正在使用的日期系统来解释 year 参数。默认情况下,Microsoft Excel for Windows 使用的是 1900 日期系统,这表示第一个日期为 1900 年 1 月 1 日。

    提示: 为避免出现意外结果,请对 year 参数使用四位数字。例如,“07”可能意味着“1907”或“2007”。因此,使用四位数的年份可避免混淆。

    · 如果 year 介于 0(零)到 1899 之间(包含这两个值),则 Excel 会将该值与 1900 相加来计算年份。例如,DATE(108,1,2) 返回 2008 年 1 月 2 日 (1900+108)。

    · 如果 year 介于 1900 到 9999 之间(包含这两个值),则 Excel 将使用该数值作为年份。例如,DATE(2008,1,2) 将返回 2008 年 1 月 2 日。

    · 如果 year 小于 0 或大于等于 10000,则 Excel 返回 错误值 #NUM!。

    ü 月:必需。 一个正整数或负整数,表示一年中从 1 月至 12 月(一月到十二月)的各个月。

    · 如果 month 大于 12,则 month 会从指定年份的第一个月开始加上该月份数。例如,DATE(2008,14,2) 返回表示 2009 年 2 月 2 日的序列数。

    · 如果 month 小于 1,则 month 会从指定年份的第一个月开始减去该月份数,然后再加上 1 个月。例如,DATE(2008,-3,2) 返回表示 2007 年 9 月 2 日的序列号。

    ü 日:必需。 一个正整数或负整数,表示一月中从 1 日到 31 日的各天。

    · 如果 day 大于指定月中的天数,则 day 会从该月的第一天开始加上该天数。例如,DATE(2008,1,35) 返回表示 2008 年 2 月 4 日的序列数。

    · 如果 day 小于 1,则 day 从指定月份的第一天开始减去该天数,然后再加上 1 天。例如,DATE(2008,1,-15) 返回表示 2007 年 12 月 16 日的序列号。

    注意: Excel 可将日期存储为连续序列号,以便能在计算中使用它们。1900 年 1 月 1 日的序列号为 1,2008 年 1 月 1 日的序列号为 39448,这是因为它与 1900 年 1 月 1 日之间相差 39,447 天。需要更改数字格式(设置单元格格式)以显示正确的日期。

    案例

    案例 1

    例如:=DATE(C2,A2,B2) 将单元格 C2 中的年、单元格 A2 中的月以及单元格 B2 中的日合并在一起,并将它们放入一个单元格内作为日期。以下案例显示了单元格 D2 中的最终结果。

    案例 2根据其他日期计算某个日期

    可以使用 DATE 函数创建基于其他单元格中日期的一个日期。例如,可以使用 YEAR、MONTH 和 DAY 函数来创建基于另一个单元格的周年纪念日期。假设,某个员工第一天上班的日期为 2016 年 10 月 1 日,则可以使用 DATE 函数创建他上班 5 周年的纪念日期:

    1. DATE 函数会创建一个日期。

    2. =DATE(YEAR(C2)+5,MONTH(C2),DAY(C2))

    3. YEAR 函数会查找单元格 C2 并从中提取“2012”。

    4. “+5”表示加上 5 年,并在单元格 D2 中创建“2017”作为周年纪念日的年。

    5. MONTH 函数从单元格 C2 中提取“3”。这将在单元格 D2 中创建“3”作为月。

    6. DAY 函数从单元格 C2 中提取“14”。这将在单元格 D2 中创建“14”作为天。

    案例 3 将文本字符串和数字转换为日期

    有时Excel的日期是无法识别的。这可能是因为数字与典型的日期不相似,也可能因为数据被设置成了文本格式。如果是这种情况,则可以使用 DATE 函数将信息转换成日期。例如,在下图中,单元格 C2 包含采用以下格式的日期:YYYYMMDD。它也被设置成了文本格式。若要将其转换成日期,则可以将 DATE 函数与 LEFT、MID 和 RIGHT 函数配合使用。

    1. DATE 函数会创建一个日期。

    2. =DATE(LEFT(C2,4),MID(C2,5,2),RIGHT(C2,2))

    3. LEFT 会在单元格 C2 中查找并从左起提取前 4 个字符。这将在单元格 D2 中创建“2014”作为转换后日期的年。

    4. MID 函数将在单元格 C2 中查找。它将从第 5 个字符开始,然后向右提取 2 个字符。这将在单元格 D2 中创建“03”作为转换后日期的月。因为 D2 的格式设置为 Date,因此“0”不包括在最终结果中。

    5. RIGHT 函数会在单元格 C2 中查找,然后从最右侧开始向左提取前 2 个字符。这将在 D2 中创建“14”作为日期的日。

    案例 4 按一定的天数加减日期

    若要按一定的天数加减日期,只需向值或包含日期的单元格引用加上或减去天数即可。

    在以下案例中,单元格 A5 包含我们想加上和减去 7 天(C5 中的值)的日期。

    DATEDIF 函数

    计算两个日期之间的天数、月数或年数。

    描述

    计算两个日期之间相隔的天数、月数或年数。警告:Excel 提供了 DATEDIF 函数,以便支持来自 Lotus 1-2-3 的旧版工作簿。在某些应用场景下,DATEDIF 函数计算结果可能并不正确。有关详细信息,请参阅本文中的“已知问题”部分。

    用法

    DATEDIF(start_date,end_date,unit)

    ü Start_date:用于表示时间段的第一个(即起始)日期的日期。 日期值有多种输入方式:带引号的文本字符串(例如 2001/1/30)、序列号(例如 36921,在商用 1900 日期系统时表示 2001 年 1 月 30 日)或其他公式或函数的结果(例如 DATEVALUE(2001/1/30))。

    ü End_date:用于表示时间段的最后一个(即结束)日期的日期。

    ü Unit:要返回的信息类型:

    其他

    l 日期存储为可用于计算的序列号。默认情况下,1899 年 12 月 31 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。

    l DATEDIF 函数在用于计算年龄的公式中很有用。

    案例

    已知问题

    “MD”参数可能导致出现负数、零或不准确的结果。若要计算上一完整月份后余下的天数,可使用如下方法:

    此公式从单元格 E17 中的原始结束日期 (5/6/2016) 减去当月第一天 (5/1/2016)。其原理如下:首先,DATE 函数会创建日期 5/1/2016。DATE 函数使用单元格 E17 中的年份和单元格 E17 中的月份创建日期。1 表示该月的第一天。DATE 函数的结果是 5/1/2016。然后,从单元格 E17 中的原始结束日期(即 5/6/2016)减去该日期。5/6/2016 减 5/1/2016 得 5 天。

    DATEVALUE 函数

    将文本格式的日期转换为序列号

    描述

    DATEVALUE 函数将存储为文本的日期转换为 Excel 识别为日期的序列号。 例如,公式=DATEVALUE(1/1/2008) 返回 39448,即日期 2008-1-1 的序列号。 即使如此,请注意,计算机的系统日期设置可能会导致 DATEVALUE 函数的结果会与此案例不同。

    如果工作表包含采用文本格式的日期并且要对这些日期进行筛选、排序、设置日期格式或执行日期计算,则 DATEVALUE 函数将十分有用。

    用法

    DATEVALUE(date_text)

    DATEVALUE 函数用法具有下列参数:

    ü Date_text 必需。代表采用 Excel 日期格式的日期的文本,或是对包含这种文本的单元格的引用。例如,用于表示日期的引号内的文本字符串 2008-1-30 或 30-Jan-2008。

    · 使用 Microsoft Excel for Windows 中的默认日期系统时,参数 date_text 必须代表 1900 年 1 月 1 日和 9999 年 12 月 31 日之间的某个日期。 如果参数 date_text的值在此范围之外, DATEVALUE函数将返回错误值 “#VALUE!。

    · 如果省略参数 date_text 中的年份部分,则 DATEVALUE 函数会使用计算机内置时钟的当前年份。 参数 date_text 中的时间信息将被忽略。

    其他

    l Excel 可将日期存储为序列号,以便可以在计算中使用它们。 默认情况下,1900 年 1 月 1 日的序列号为 1,2008 年 1 月 1 日的序列号为 39,448,这是因为它距 1900 年 1 月 1 日有 39,447 天。

    l 大部分函数都会自动将日期值转换为序列数。

    案例

    DAY 函数

    将序列号转换为月份日期

    描述

    返回以序列数表示的某日期的天数。 天数是介于 1 到 31 之间的整数。

    用法

    DAY(serial_number)

    DAY 函数用法具有下列参数:

    ü Serial_number 必需。要查找的日期。应使用 DATE 函数输入日期,或将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本形式输入,则会出现问题。

    其他

    l Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。

    l 无论提供的日期值的显示格式如何,YEAR、MONTH 和 DAY 函数返回的值都是公历值。例如,如果提供的日期的显示格式是回历,则 YEAR、MONTH 和 DAY 函数返回的值将是与对应的公历日期相关联的值。

    案例

    DAYS 函数

    返回两个日期之间的天数

    描述

    返回两个日期之间的天数。

    用法

    DAYS(end_date, start_date)

    DAYS 函数用法具有以下参数。

    ü End_date 必需。 Start_date 和 End_date 是用于计算期间天数的起止日期。

    ü Start_date 必需。Start_date 和 End_date 是用于计算期间天数的起止日期。

    注意: Excel 可将日期存储为序列号,以便可以在计算中使用它们。 默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39447 天。

    其他

    l 如果两个日期参数为数字,DAYS 使用 EndDate–StartDate 计算两个日期之间的天数。

    l 如果任何一个日期参数为文本,该参数将被视为 DATEVALUE(date_text) 并返回整型日期,而不是时间组件。

    l 如果日期参数是超出有效日期范围的数值,DAYS 返回 #NUM! 错误值。

    l 如果日期参数是无法解析为字符串的有效日期,DAYS 返回 #VALUE! 错误值。

    案例

    DAYS360 函数

    以一年 360 天为基准计算两个日期间的天数

    描述

    按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月),DAYS360 函数返回两个日期间相差的天数,这在一些会计计算中将会用到。 如果财会系统是基于一年 12 个月,每月 30 天,可使用此函数帮助计算支付款项。

    用法

    DAYS360(start_date,end_date,[method])

    DAYS360 函数用法具有下列参数:

    ü Start_date、end_date 必需。 用于计算期间天数的起止日期。 如果 start_date 在 end_date 之后,则 DAYS360 函数将返回一个负数。 应使用 DATE 函数输入日期,或者将从其他公式或函数派生日期。 例如,使用函数 DATE(2008,5,23) 以返回 2008 年 5 月 23 日。 如果日期以文本形式输入,则会出现问题。

    ü 方法 可选。 逻辑值,用于指定在计算中是采用美国方法 还是欧洲方法。

    注意:Excel 可将日期存储为序列号,以便可以在计算中使用它们。 默认情况下,1900 年 1 月 1 日的序列号为 1,2008 年 1 月 1 日的序列号为 39,448,这是因为它距 1900 年 1 月 1 日有 39,447 天。

    案例

    EDATE 函数

    返回用于表示开始日期之前或之后月数的日期的序列号

    描述

    返回表示某个日期的序列号,该日期与指定日期 (start_date) 相隔(之前或之后)指示的月份数。 使用函数 EDATE 可以计算与发行日处于一月中同一天的到期日的日期。

    用法

    EDATE(start_date, months)

    EDATE 函数用法具有以下参数:

    ü Start_date 必需。一个代表开始日期的日期。应使用 DATE 函数输入日期,或将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本形式输入,则会出现问题。

    ü Months必需。 start_date 之前或之后的月份数。 months 为正值将生成未来日期;为负值将生成过去日期。

    其他

    Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。如果 start_date 不是有效日期,则 EDATE 返回 错误值 #VALUE!。 如果 months 不是整数,将截尾取整。

    案例

    EOMONTH 函数

    返回指定月数之前或之后的月份的最后一天的序列号

    描述

    返回某个月份最后一天的序列号,该月份与 start_date 相隔(之后或之后)指示的月份数。 使用函数 EOMONTH 可以计算正好在特定月份中最后一天到期的到期日。

    用法

    EOMONTH(start_date, months)

    EOMONTH 函数用法具有以下参数:

    ü Start_date 必需。一个代表开始日期的日期。应使用 DATE 函数输入日期,或将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本形式输入,则会出现问题。

    ü Months 必需。 start_date 之前或之后的月份数。 months 为正值将生成未来日期;为负值将生成过去日期。

    注意: 如果 months 不是整数,将截尾取整。

    其他

    l Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。

    l 如果 start_date 不是有效日期,则 EOMONTH 返回 错误值 #NUM!。

    l 如果 start_date 加 months 产生非法日期值,则 EOMONTH 返回 错误值 #NUM!。

    案例

    HOUR 函数

    将序列号转换为小时

    描述

    返回时间值的小时数。 小时数是介于 0 ...

  • ?

    excel数据处理:计算两日期之间的年月日数

    念旧

    展开

           在excel中计算日期差,要用到excel数据库函数datedif,在excel中这个函数是隐藏的,它的函数语法是=(开始日期,结束日期,返回的信息类型),下表是模拟演示:

    从左到右依次公式为

         =DATEDIF($A2,$B2,"y")&"年"

        =DATEDIF($A2,$B2,"m")&"个月"

        =DATEDIF($A2,$B2,"d")&"天"

        =DATEDIF($A2,$B2,"ym")&"个月"

        =DATEDIF($A2,$B2,"md")&"天"

        =DATEDIF($A2,$B2,"yd")&"天数"

    下面是第三参数的具体解释:

        "Y" 一段时期内的整年数。   

        "M"一段时期内的整月数。

        "D"一段时期内的天数。

        "MD"start_date 与 end_date 之间天数之差。 忽略日期中的月份和年份。

         "YM"start_date 与 end_date 之间月份之差。 忽略日期中的天和年份

         "YD"start_date 与 end_date 的日期部分之差。 忽略日期中的年份。

    如果要计算多少年多少月零多少天,如下图的公式:

    (本文内容由百度知道网友清风吧吧啦贡献)

excel两个日期之间的月数

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP