用EXCEL快速计算天数的技巧(做进度计划用)
1.计算两个日期中的工作日天数
运用networkdays函数,“=networkdays(Date1,Date2 )”,括号中的
Date1,Date2 分别代表两个日期,
即可得到两个日期之间的工作日数。
如果遇到两个日期除周末外,有省/市/自治区和国家/地区的法定假日以及其他非法定假日,那么,可以使用“=networkdays(Date1,Date2 ,Holidays)”Holidays 表示不在工作日历中的一个或多个日期所构成的可选区域。
例如,2008年10月1日至3日为国家法定节假日,在excel空白单元格A4、A5中分别输入2008年10月1日和2008年10月3日,在“=networkdays(Date1,Date2 ,Holidays)”函数中Holidays用鼠标选中A4:A5,即可计算出排除国家法定节假日的工作日数了 。
备注:
如果该函数不可用,并返回错误值 #NAME?,请安装并加载“分析工具库”加载宏。
运用networkdays函数,“=networkdays(Date1,Date2 )”,括号中的
Date1,Date2 分别代表两个日期,
即可得到两个日期之间的工作日数。
如果遇到两个日期除周末外,有省/市/自治区和国家/地区的法定假日以及其他非法定假日,那么,可以使用“=networkdays(Date1,Date2 ,Holidays)”Holidays 表示不在工作日历中的一个或多个日期所构成的可选区域。
例如,2008年10月1日至3日为国家法定节假日,在excel空白单元格A4、A5中分别输入2008年10月1日和2008年10月3日,在“=networkdays(Date1,Date2 ,Holidays)”函数中Holidays用鼠标选中A4:A5,即可计算出排除国家法定节假日的工作日数了 。
备注:
如果该函数不可用,并返回错误值 #NAME?,请安装并加载“分析工具库”加载宏。
2.计算两个日期中的天数
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文本串(例如 "2001/1/30")、系列数(例如,如果使用1900 日期系统则 36921 代表 2001 年 1 月 30 日)或其他公式或函数的结果(例如,DATEVALUE("2001/1/30"))。End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型:
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
"YM" start_date 与 end_date 日期中月数的差。忽略日期中的日和年。
"YD" start_date 与 end_date 日期中天数的差。忽略日期中的年。
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文本串(例如 "2001/1/30")、系列数(例如,如果使用1900 日期系统则 36921 代表 2001 年 1 月 30 日)或其他公式或函数的结果(例如,DATEVALUE("2001/1/30"))。End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型:
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
"YM" start_date 与 end_date 日期中月数的差。忽略日期中的日和年。
"YD" start_date 与 end_date 日期中天数的差。忽略日期中的年。
说明
Microsoft Excel 按顺序的系列数保存日期,这样就可以对其进行计算。如果工作簿使用 1900 日期系统,则 Excel 会将 1900 年 1 月 1 日保存为系列数 1。而如果工作簿使用 1904 日期系统,则 Excel 会将 1904 年 1 月 1 日保存为系列数 0,(而将 1904 年 1 月 2 日保存为系列数 1)。例如,在 1900 日期系统中 Excel 将 1998 年 1 月 1 日保存为系列数 35796,因为该日期距离 1900 年 1 月 1 日为 35795 天。请查阅 Microsoft Excel 如何存储日期和时间。
Excel for Windows 和 Excel for Macintosh 使用不同的默认日期系统。
示例:
DATEDIF("2001/1/1","2003/1/1","Y") 等于 2,即时间段中有两个整年。
DATEDIF("2001/6/1","2002/8/15","D") 等于 440,即在 2001 年 6 月 1 日和 2002 年 8 月 15 日之间有 440 天。
DATEDIF("2001/6/1","2002/8/15","YD") 等于 75,即在 6 月 1 日与 8 月 15 日之间有 75 天,忽略日期中的年。
Microsoft Excel 按顺序的系列数保存日期,这样就可以对其进行计算。如果工作簿使用 1900 日期系统,则 Excel 会将 1900 年 1 月 1 日保存为系列数 1。而如果工作簿使用 1904 日期系统,则 Excel 会将 1904 年 1 月 1 日保存为系列数 0,(而将 1904 年 1 月 2 日保存为系列数 1)。例如,在 1900 日期系统中 Excel 将 1998 年 1 月 1 日保存为系列数 35796,因为该日期距离 1900 年 1 月 1 日为 35795 天。请查阅 Microsoft Excel 如何存储日期和时间。
Excel for Windows 和 Excel for Macintosh 使用不同的默认日期系统。
示例:
DATEDIF("2001/1/1","2003/1/1","Y") 等于 2,即时间段中有两个整年。
DATEDIF("2001/6/1","2002/8/15","D") 等于 440,即在 2001 年 6 月 1 日和 2002 年 8 月 15 日之间有 440 天。
DATEDIF("2001/6/1","2002/8/15","YD") 等于 75,即在 6 月 1 日与 8 月 15 日之间有 75 天,忽略日期中的年。
DATEDIF("2001/6/1","2002/8/15","MD") 等于 14,即开始日期 1 和结束日期 15 之间的差,忽略日期中的年和月。
=DATEDIF(B2,TODAY(),"y")
=DATEDIF(B2,TODAY(),"ym")
=DATEDIF(B2,TODAY(),"md")
=DATEDIF(B2,TODAY(),"y")&"年"&DATEDIF(B2,TODAY(),"ym")&"月"&DATEDIF(B2
=DATEDIF(B2,TODAY(),"y")
=DATEDIF(B2,TODAY(),"ym")
=DATEDIF(B2,TODAY(),"md")
=DATEDIF(B2,TODAY(),"y")&"年"&DATEDIF(B2,TODAY(),"ym")&"月"&DATEDIF(B2
用Excel可以很轻松地计算出两个时间的天数差,方法有2种:
方法1:在A1单元格输入前面的日期,比如"2004-10-10",在A2单元格输入后面的日期,如"2005-6-7"。接着单击A3单元格,输入公式"=DATEDIF(A1,A2,"d")"。然后按下回车键,那么立刻就会得到两者的天数差"240"。
提示:公式中的A1和A2分别代表前后两个日期,顺序是不可以颠倒的。此外,DATEDIF
方法1:在A1单元格输入前面的日期,比如"2004-10-10",在A2单元格输入后面的日期,如"2005-6-7"。接着单击A3单元格,输入公式"=DATEDIF(A1,A2,"d")"。然后按下回车键,那么立刻就会得到两者的天数差"240"。
提示:公式中的A1和A2分别代表前后两个日期,顺序是不可以颠倒的。此外,DATEDIF
函数是Excel中一个隐藏函数,在函数向导中看不到它,但这并不影响我们的使用。
方法2:任意选择一个单元格,输入公式"="2004-10-10"-"2005-6-7"",然后按下回车键,我们可以立即计算出结果。
---- Excel 中 最 便 利 的 工 作 表 函 数 之 一 — —Datedif 名 不 见 经 传, 但 却 十 分 好 用。Datedif 能 返 回 任 意 两 个 日 期 之 间 相 差 的 时 间, 并 能 以 年、 月 或 天 数 的 形 式 表 示。 您 可 以 用 它 来 计 算 发 货 单 到 期 的 时 间, 还 可 以 用 它 来 进 行2000 年 的 倒 计 时。
---- Excel 中 的Datedif 函 数 带 有3 个 参 数, 其 格 式 如 下:
---- =Datedif(start_date,end_date,units)
---- start_date 和end_date 参 数 可 以 是 日 期 或 者 是 代 表 日 期 的 变 量, 而units 则 是1 到2 个 字 符 长 度 的 字 符 串, 用 以 说 明 返 回 日 期 差 的 形 式( 见 表1)。 图1 是 使 用Datedif 函 数 的 一 个 例 子, 第2 行 的 值 就 表 明 这 两 个 日 期 之 间 相 差1 年 又14 天。
方法2:任意选择一个单元格,输入公式"="2004-10-10"-"2005-6-7"",然后按下回车键,我们可以立即计算出结果。
---- Excel 中 最 便 利 的 工 作 表 函 数 之 一 — —Datedif 名 不 见 经 传, 但 却 十 分 好 用。Datedif 能 返 回 任 意 两 个 日 期 之 间 相 差 的 时 间, 并 能 以 年、 月 或 天 数 的 形 式 表 示。 您 可 以 用 它 来 计 算 发 货 单 到 期 的 时 间, 还 可 以 用 它 来 进 行2000 年 的 倒 计 时。
---- Excel 中 的Datedif 函 数 带 有3 个 参 数, 其 格 式 如 下:
---- =Datedif(start_date,end_date,units)
---- start_date 和end_date 参 数 可 以 是 日 期 或 者 是 代 表 日 期 的 变 量, 而units 则 是1 到2 个 字 符 长 度 的 字 符 串, 用 以 说 明 返 回 日 期 差 的 形 式( 见 表1)。 图1 是 使 用Datedif 函 数 的 一 个 例 子, 第2 行 的 值 就 表 明 这 两 个 日 期 之 间 相 差1 年 又14 天。
units 的 参 数 类 型 对 应 的Datedif 返 回 值
“y” 日 期 之 差 的 年 数( 非 四 舍 五 入)
“m” 日 期 之 差 的 月 数( 非 四 舍 五 入)
“d” 日 期 之 差 的 天 数( 非 四 舍 五 入)
“md” 两 个 日 期 相 减 后, 其 差 不 足 一 个 月 的 部 分 的 天 数
“ym” 两 个 日 期 相 减 后, 其 差 不 足 一 年 的 部 分 的 月 数
“yd” 两 个 日 期 相 减 后, 其 差 不 足 一 年 的 部 分 的 天 数
“y” 日 期 之 差 的 年 数( 非 四 舍 五 入)
“m” 日 期 之 差 的 月 数( 非 四 舍 五 入)
“d” 日 期 之 差 的 天 数( 非 四 舍 五 入)
“md” 两 个 日 期 相 减 后, 其 差 不 足 一 个 月 的 部 分 的 天 数
“ym” 两 个 日 期 相 减 后, 其 差 不 足 一 年 的 部 分 的 月 数
“yd” 两 个 日 期 相 减 后, 其 差 不 足 一 年 的 部 分 的 天 数
在EXCEL中两个日期相减如何得出月数 要求余数大于15天为一个月,小于15天的则忽略不计
=DATEDIF(A1,B1,"m")+(DATEDIF(A1,B1,"md")>=15)
比较常用的Excel技巧(转)
1、两列数据查相同值对应的位置
=MATCH(B1,A:A,0)
2、已知公式得结果
定义名称=EVALUATE(Sheet1!C1)
已知结果得公式
定义名称=GET.CELL(6,Sheet1!C1)
3、强制换行
用Alt+Enter
4、超过15位数字输入
这个问题问的人太多了,也收起来吧。一、单元格设置为文本;二、在输入数字前先输入'
5、如果隐藏了B列,如果让它显示出来?
选中A到C列,点击右键,取消隐藏
选中A到C列,双击选中任一列宽线或改变任一列宽
将鼠标移到到AC列之间,等鼠标变为双竖线时拖动之。
6、EXCEL中行列互换
复制,选择性粘贴,选中转置,确定即可
2、已知公式得结果
定义名称=EVALUATE(Sheet1!C1)
已知结果得公式
定义名称=GET.CELL(6,Sheet1!C1)
3、强制换行
用Alt+Enter
4、超过15位数字输入
这个问题问的人太多了,也收起来吧。一、单元格设置为文本;二、在输入数字前先输入'
5、如果隐藏了B列,如果让它显示出来?
选中A到C列,点击右键,取消隐藏
选中A到C列,双击选中任一列宽线或改变任一列宽
将鼠标移到到AC列之间,等鼠标变为双竖线时拖动之。
6、EXCEL中行列互换
复制,选择性粘贴,选中转置,确定即可
7、Excel是怎么加密的
(1)、保存时可以的另存为>>右上角的"工具">>常规>>设置
(2)、工具>>选项>>安全性
8、关于COUNTIF
COUNTIF函数只能有一个条件,如大于90,为=COUNTIF(A1:A10,">=90")
介于80与90之间需用减,为=COUNTIF(A1:A10,">80")-COUNTIF(A1:A10,">90")
另外补充:条件:列中包含某字符A1->含字符EA
目的:赋予含该字符对应单元格相应公式或数值
套用公式:=if(COUNT(search("EA",A1)),公式或数值1,公式或数值2)
=if(ISERR(search("EA",A1)),公式或数值2,公式或数值1)
Count——因为Search得到的是代表位置的数字或者#Value错误,Count对数字可以统计,对错误值得到0。
Iserr——条件反转。
Isnumber—当A1为数字时,则返回true
9、根据身份证号提取出生日期
(1)、保存时可以的另存为>>右上角的"工具">>常规>>设置
(2)、工具>>选项>>安全性
8、关于COUNTIF
COUNTIF函数只能有一个条件,如大于90,为=COUNTIF(A1:A10,">=90")
介于80与90之间需用减,为=COUNTIF(A1:A10,">80")-COUNTIF(A1:A10,">90")
另外补充:条件:列中包含某字符A1->含字符EA
目的:赋予含该字符对应单元格相应公式或数值
套用公式:=if(COUNT(search("EA",A1)),公式或数值1,公式或数值2)
=if(ISERR(search("EA",A1)),公式或数值2,公式或数值1)
Count——因为Search得到的是代表位置的数字或者#Value错误,Count对数字可以统计,对错误值得到0。
Iserr——条件反转。
Isnumber—当A1为数字时,则返回true
9、根据身份证号提取出生日期
(1)、=IF(LEN(A1)=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),IF(LEN(A1)=15,DATE(MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)),"错误身份证号"))
(2)、=TEXT(MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")*1
身份证EXCEL补充:
A)提取生日(年-月-日):=IF(LEN(A1)=15,TEXT(CONCATENATE("19",MID(A1,7,6)),"#-00-00"),TEXT(MID(A1,7,8),"#-00-00"))
B)提取年龄:=YEAR(TODAY())-IF(LEN(A1)=15,CONCATENATE("19",MID(A1,7,2)),MID(A1,7,4))
C)提取性别:=IF(MOD(IF(LEN(A1)=15,MID(A1,15,1),MID(A1,17,1)),2)=1,"男","女")
10、想在SHEET2中完全引用SHEET1输入的数据
工作组,按住Shift或Ctrl键,同时选定Sheet1、Sheet2。
(2)、=TEXT(MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")*1
身份证EXCEL补充:
A)提取生日(年-月-日):=IF(LEN(A1)=15,TEXT(CONCATENATE("19",MID(A1,7,6)),"#-00-00"),TEXT(MID(A1,7,8),"#-00-00"))
B)提取年龄:=YEAR(TODAY())-IF(LEN(A1)=15,CONCATENATE("19",MID(A1,7,2)),MID(A1,7,4))
C)提取性别:=IF(MOD(IF(LEN(A1)=15,MID(A1,15,1),MID(A1,17,1)),2)=1,"男","女")
10、想在SHEET2中完全引用SHEET1输入的数据
工作组,按住Shift或Ctrl键,同时选定Sheet1、Sheet2。
11、一列中不输入重复数字
[数据]--[有效性]--[自定义]--[公式]
[数据]--[有效性]--[自定义]--[公式]
输入=COUNTIF(A:A,A1)=1
如果要查重复输入的数字
条件格式》公式》=COUNTIF(A:A,A5)>1》格式选红
12、直接打开一个电子表格文件的时候打不开
“文件夹选项”-“文件类型”中到.XLS文件,并在“高级”中确认是否有参数1%,如果没有,请手工加上
13、excel下拉菜单的实现
[数据]-[有效性]-[序列]
14、10列数据合计成一列
=SUM(OFFSET($1,(ROW()-2)*10+1,,10,1))
15、查数据公式两个(基本查函数为VLOOKUP,MATCH)
(1)、根据符合行列两个条件查对应结果
=VLOOKUP(H1,A1:E7,MATCH(I1,A1:E1,0),mid函数提取年月日FALSE)
(2)、根据符合两列数据查对应结果(为数组公式)
=INDEX(C1:C7,MATCH(H1&I1,A1:A7&B1:B7,0))
如果要查重复输入的数字
条件格式》公式》=COUNTIF(A:A,A5)>1》格式选红
12、直接打开一个电子表格文件的时候打不开
“文件夹选项”-“文件类型”中到.XLS文件,并在“高级”中确认是否有参数1%,如果没有,请手工加上
13、excel下拉菜单的实现
[数据]-[有效性]-[序列]
14、10列数据合计成一列
=SUM(OFFSET($1,(ROW()-2)*10+1,,10,1))
15、查数据公式两个(基本查函数为VLOOKUP,MATCH)
(1)、根据符合行列两个条件查对应结果
=VLOOKUP(H1,A1:E7,MATCH(I1,A1:E1,0),mid函数提取年月日FALSE)
(2)、根据符合两列数据查对应结果(为数组公式)
=INDEX(C1:C7,MATCH(H1&I1,A1:A7&B1:B7,0))
16、如何隐藏单元格中的0
单元格格式自定义0;-0;;@或选项》视图》零值去勾。呵呵,如果用公式就要看情况了。
17、多个工作表的单元格合并计算
=Sheet1!D4+Sheet2!D4+Sheet3!D4,更好的=SUM(Sheet1:Sheet3!D4)
18、获得工作表名称
(1)、定义名称:Name
=GET.DOCUMENT(88)
(2)、定义名称:Path
=GET.DOCUMENT(2)
(3)、在A1中输入=CELL("filename")得到路径级文件名
在需要得到文件名的单元格输入
=MID(A1,FIND("*",SUBSTITUTE(A1,"","*",LEN(A1)-LEN(SUBSTITUTE(A1,"",""))))+1,LEN(A1))
(4)、自定义函数
PublicFunctionname()
单元格格式自定义0;-0;;@或选项》视图》零值去勾。呵呵,如果用公式就要看情况了。
17、多个工作表的单元格合并计算
=Sheet1!D4+Sheet2!D4+Sheet3!D4,更好的=SUM(Sheet1:Sheet3!D4)
18、获得工作表名称
(1)、定义名称:Name
=GET.DOCUMENT(88)
(2)、定义名称:Path
=GET.DOCUMENT(2)
(3)、在A1中输入=CELL("filename")得到路径级文件名
在需要得到文件名的单元格输入
=MID(A1,FIND("*",SUBSTITUTE(A1,"","*",LEN(A1)-LEN(SUBSTITUTE(A1,"",""))))+1,LEN(A1))
(4)、自定义函数
PublicFunctionname()
DimfilenameAsString
filename=ActiveWorkbook.name
name=filename
EndFunction
filename=ActiveWorkbook.name
name=filename
EndFunction
19、A)如何获取一个月的最大天数
:"=DAY(DATE(2002,3,1)-1)"或"=DAY(B1-1)",B1为"2001-03-01
B)数据区包含某一字符的项的总和,该用什么公式
=sumif(a:a,"*"&"某一字符"&"*",数据区)
C)最后一行为文本:
=offset($b$1,MATCH(CHAR(65535),b:b)-1,)
D)最后一行为数字:
=offset($b$1,MATCH(9.9999E+307,b:b)-1,)
或者:=lookup(2,1/(b1:b1000<>""),b1:b1000)
E)评委打分中,如何去掉两个以上最高分,两个以上最底分,求剩余人员的平均分?同时显示出被去掉的分数。
:"=DAY(DATE(2002,3,1)-1)"或"=DAY(B1-1)",B1为"2001-03-01
B)数据区包含某一字符的项的总和,该用什么公式
=sumif(a:a,"*"&"某一字符"&"*",数据区)
C)最后一行为文本:
=offset($b$1,MATCH(CHAR(65535),b:b)-1,)
D)最后一行为数字:
=offset($b$1,MATCH(9.9999E+307,b:b)-1,)
或者:=lookup(2,1/(b1:b1000<>""),b1:b1000)
E)评委打分中,如何去掉两个以上最高分,两个以上最底分,求剩余人员的平均分?同时显示出被去掉的分数。
看看trimmean()函数帮助。
被去掉的分数:
最大两个:=large(data,{1;2})
最小两个:=small(data,{1;2})
F)怎样很简单的判断最后一位是字母
right(a1)*1
G)出错的字母
=IF(ISNUMBER(--RIGHT(A1,1)),"数字","字母")
=IF(ISERR(RIGHT(A1)*1),"字母","数字")
H)如何设置单元格,令其不接受包含空格的字符
选定A列
数据——有效性——自定义——公式
=iserror(find("",a1))
数据--有效性--自定义--公式
=len(a1)=len(trim(a1))注*单元格消空格用函数=TRIM(A1)
被去掉的分数:
最大两个:=large(data,{1;2})
最小两个:=small(data,{1;2})
F)怎样很简单的判断最后一位是字母
right(a1)*1
G)出错的字母
=IF(ISNUMBER(--RIGHT(A1,1)),"数字","字母")
=IF(ISERR(RIGHT(A1)*1),"字母","数字")
H)如何设置单元格,令其不接受包含空格的字符
选定A列
数据——有效性——自定义——公式
=iserror(find("",a1))
数据--有效性--自定义--公式
=len(a1)=len(trim(a1))注*单元格消空格用函数=TRIM(A1)
I)实现跳格累加如=a1+a4+a7+a10+a13+a16+
=sum(n(offset(a1,(row(1:10)-1)*3,)))
J)在一个工作表中引用其他工作表中的数据,但是被引用的工作表不是固定的,根据输入的工作表名自动选择相应的工作表中的数据,请问在公式里怎样引用?
=INDIRECT("A1"&"!"&"E1")A1为工作表名
K)奇数行求和=SUMPRODUCT((A1:A1000)*MOD(ROW(A1:A1000),2))
L)偶数行求和=SUMPRODUCT((A1:A1000)*NOT(MOD(ROW(A1:A1000),2)))
M)查看字符串字数
=LEN(A1)
N)求非空单元格数量
公式计算出来的数据,COUNTA不能用的(否则空字符也计算进去了)
=COUNTIF($E$3E$65536,"?*")
O)动态求和公式,自A列A1单元格到当前行前面一行的单元格求和.
=SUM(INDIRECT("A1:A"&ROW()-1))
20、比较好用的EXCEL文档修复工具
ExcelRecovery
=sum(n(offset(a1,(row(1:10)-1)*3,)))
J)在一个工作表中引用其他工作表中的数据,但是被引用的工作表不是固定的,根据输入的工作表名自动选择相应的工作表中的数据,请问在公式里怎样引用?
=INDIRECT("A1"&"!"&"E1")A1为工作表名
K)奇数行求和=SUMPRODUCT((A1:A1000)*MOD(ROW(A1:A1000),2))
L)偶数行求和=SUMPRODUCT((A1:A1000)*NOT(MOD(ROW(A1:A1000),2)))
M)查看字符串字数
=LEN(A1)
N)求非空单元格数量
公式计算出来的数据,COUNTA不能用的(否则空字符也计算进去了)
=COUNTIF($E$3E$65536,"?*")
O)动态求和公式,自A列A1单元格到当前行前面一行的单元格求和.
=SUM(INDIRECT("A1:A"&ROW()-1))
20、比较好用的EXCEL文档修复工具
ExcelRecovery
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论