搜档网
当前位置:搜档网 › ABAP计算日期的函数

ABAP计算日期的函数

ABAP计算日期的函数
ABAP计算日期的函数

计算两个日期间的工作天数,就是剔除了双休日后的天数.( 待考证)

DATE_CONVERT_TO_FACTORYDATE

HR_HK_DIFF_BT_2_DATES

根据当前时间如何找到上月的第一天和最后一天?

CALL FUNCTION 'FIMA_DATE_CREATE'

EXPORTING

I_DATE = SY-DATUM

I_MONTHS = '-1'

I_SET_LAST_DAY_OF_MONTH = 'X'

IMPORTING

E_DATE = LASTDATE.

LASTDATE是上个月最后一天。

FIRSTDAY是上月第一天

CONCATENATE LASTDATE+(6) '01' INTO FIRSTDAY.。

当天是当年的第几周

DATE_GET_WEEK

得到该周第一天

WEEK_GET_FIRST_DAY

查找当前月份以前的月份(比如现在是4月份,如果我需要知道6个月之前是哪个月)CCM_GO_BACK_MONTHS

RP_CALC_DATE_IN_INTERVAL

获取两日期之间天数函数:

FIMA_DAYS_AND_MONTHS_AND_YEARS

取得当月的第一天和最后一天

CONCATENATE sy-datum(6) '01' INTO so_date-low.

CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'

EXPORTING

i_date = sy-datum

IMPORTING

e_date = so_date-high.

so_date-sign = 'I'. so_date-option = 'BT'. APPEND so_date.

RP_CALC_DATE_IN_INTERVAL 年月日加减

DATE_CHECK_PLAUSIBILITY 日期有效性检查

SD_DATETIME_DIFFERENCE 两日期作差

DATE_CONVERT_TO_FACTORYDATE 把输入日期转为工厂日历日期

MONTH_NAMES_GET 获得所有的月和名字

F4_DATE 弹出一个窗口显示一个日历允许用户选择一个日期。

RP_LAST_DAY_OF_MONTHS 获得一个月的最后一天

FIRST_DAY_IN_PERIOD_GET 获得期间首日

LAST_DAY_IN_PERIOD_GET 获得期间末日

DATE_GET_WEEK 返回一个日期所在的周数。

CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'"获得两个日期的年数

EXPORTING

begda = gdat

endda = sy-datum

IMPORTING

c_years = l_age.

关于星期(周)的函数

FM:GET_WEEK_INFO_BASED_ON_DATE

输入参数值

DATE 2008.01.09

输出参数值

WEEK 200802 <----2008年第二周MONDAY 2008.01.07 <----这个周周一的日期SUNDAY 2008.01.13 <----周日的日期

FM:DAY_IN_WEEK(输入日期是星期几)

输入参数值

DATUM 2008.01.09

输出参数值

WOTNR 3 <----2008-1-9为周三

*更多关于Week的函数请看Function Group:CADA

*弹出选择周的对话框

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_week-low. PERFORM getweek CHANGING s_week-low.

FORM getweek CHANGING p_week .

DATA: begin_date TYPE d .

CALL FUNCTION 'POPUP_CALENDAR_SDB'

EXPORTING

sel_week = 'X'

focus_day = sy-datum

IMPORTING

begin_date = begin_date.

CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'

EXPORTING

date = begin_date

IMPORTING

week = p_week.

ENDFORM.

F4_CLOCK 选择时间

*需求:只有显示年月,但要有日期的search help

PARAMETERS:p1(6) TYPE c.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p1.

DATA:l_date TYPE sy-datum.

CALL FUNCTION 'F4_DATE'

EXPORTING

date_for_first_month = sy-datum

IMPORTING

select_date = l_date

EXCEPTIONS

calendar_buffer_not_loadable = 1

date_after_range = 2

date_before_range = 3

date_invalid = 4

factory_calendar_not_found = 5

holiday_calendar_not_found = 6

parameter_conflict = 7

OTHERS = 8.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

p1 = l_date+0(6).

* check plausibilty of dates

CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'

EXPORTING

DATE = bkdf-dbbdt.

TIME_CHECK_PLAUSIBILITY 判断是不是时间

GET_CURRENT_YEAR

得到当前的财政年(fiscal year)

察看某日期的属性,包括该日期是星期几,第几天(周2=2),是不是公共假期等,需要输入国家日历。

DAY_ATTRIBUTES_GET

判断某天是否是假日

HOLIDAY_CHECK_AND_GET_INFO

POPUP_TO_SELECT_MONTH 月份选择窗口

比较日期和时间

TYPE-POOLS : TRFF .

DATA : X_LOG_OP TYPE TRFF_TYPE_C_2 .

CALL FUNCTION 'FIMA_DATE_COMPARE'

EXPORTING

I_FLG_INTRADAY = 'X'

I_DATE = SY-DATUM

I_TIME = SY-UZEIT

I_COMP_DATE = L_MODIFY-MODDATE

I_COMP_TIME = L_MODIFY-MODTIME

IMPORTING

E_LOG_OP = X_LOG_OP.

p_months = -4."前4月,如果为正,则是后面的日期

CALL FUNCTION 'MONTH_PLUS_DETERMINE'

EXPORTING

MONTHS = p_months

OLDDATE = p_date

IMPORTING

NEWDATE = p_date.

获得某个日期所在的周,获得某周的第一天。

DATE_GET_WEEK 和 WEEK_GET_FIRST_DAY

function date_get_week.

*"---------------------------------------------------------------------- *"*"Lokale Schnittstelle:

*" IMPORTING

*" VALUE(DATE) LIKE SCAL-DATE

*" EXPORTING

*" VALUE(WEEK) LIKE SCAL-WEEK

*" EXCEPTIONS

*" DATE_INVALID

*"----------------------------------------------------------------------

函数模块作用:

获得某个日期所在的周。

=============================================

function week_get_first_day.

*"---------------------------------------------------------------------- *"*"Lokale Schnittstelle:

*" IMPORTING

*" VALUE(WEEK) LIKE SCAL-WEEK

*" EXPORTING

*" VALUE(DATE) LIKE SCAL-DATE

*" EXCEPTIONS

*" WEEK_INVALID

*"----------------------------------------------------------------------

函数模块作用:

获得某周的第一天。

============================================

上述两个函数的功能已经包含在 HR_GBSSP_GET_WEEK_DATES 中了。

从数据表中获得指定语言每周七天的名称,例如中文就是星期一、星期二……星期日,英文就是Sunday、Monday……Saturday。

WEEKDAY_GET

FUNCTION WEEKDAY_GET.

*"---------------------------------------------------------------------- *"*"Lokale Schnittstelle:

*" IMPORTING

*" VALUE(LANGUAGE) LIKE SY-LANGU DEFAULT SY-LANGU

*" EXPORTING

*" VALUE(RETURN_CODE) LIKE SY-SUBRC

*" TABLES

*" WEEKDAY STRUCTURE T246

*" EXCEPTIONS

*" WEEKDAY_NOT_FOUND

*"----------------------------------------------------------------------

函数模块作用:

从数据表中获得指定语言每周七天的名称,例如中文就是星期一、星期二……星期日,英文就是Sunday、Monday……Saturday。

输入参数:

LANGUAGE:指定语言代码,可以省略,如果不填就是当前登录语言。注意,在调用时如果指定某种特定语言,必须用一个字节的语言代码,例如中文是 1、英文是E……,而不能用 ZH、EN,语言代码参见表 T002。

输出参数:

RETURN_CODE:返回码,查询数据库获得的返回码。但是由于这个函数会抛出异常,因此返回码的作用不大。

表:

WEEKDAY:结构与透明表 T246 相同,用来存储返回给用户的周日名称。

异常:

WEEKDAY_NOT_FOUND:没有找到周日的描述。

excel计算日期函数

在excel中计算日期差2007-03-20 04:45方法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"”,然后按下回车键,我们可以立即计算出结果。 计算工作时间——工龄—— 假如日期数据在D2单元格。 =DATEDIF(D2,TODAY(),"y")+1 注意:工龄两头算,所以加“1”。 如果精确到“天”—— =DATEDIF(D2,TODAY(),"y")&"年"&DATEDIF(D2,TODAY(),"ym")&"月"&DATEDIF(D2,TODAY(),"md")&"日" 二、计算2003-7-6 17:05到2006-7-7 13:50分之间相差了多少天、多少个小时多少分钟 假定原数据分别在A1和B1单元格,将计算结果分别放在C1、D1和E1单元格。 C1单元格公式如下: =ROUND(B1-A1,0) D1单元格公式如下: =(B1-A1)*24 E1单元格公式如下: =(B1-A1)*24*60 注意:A1和B1单元格格式要设为日期,C1、D1和E1单元格格式要设为常规. 三、计算生日,假设b2为生日 =datedif(B2,today(),"y") DATEDIF函数,除Excel 2000中在帮助文档有描述外,其他版本的Excel在帮助文档中都没有说明,并且在所有版本的函数向导中也都找不到此函数。但该函数在电子表格中确实存在,并且用来计算两个日期之间的天数、月数或年数很方便。微软称,提供此函数是为了与Lotus 1-2-3兼容。 该函数的用法为“DATEDIF(Start_date,End_date,Unit)”,其中Start_date为一个日期,它代表时间段内的第一个日期或起始日期。End_date为一个日期,它代表时间段内的最后一个日期或结束日期。Unit为所需信息的返回类型。 “Y”为时间段中的整年数,“M”为时间段中的整月数,“D”时间段中的天数。“MD”为Start_date 与End_date日期中天数的差,可忽略日期中的月和年。“YM”为Start_date与End_date日期中月数的差,可忽略日期中的日和年。“YD”为Start_date与End_date日期中天数的差,可忽略日期中的年。比如,B2单元格中存放的是出生日期(输入年月日时,用斜线或短横线隔开),在C2单元格中输入“=datedif(B2,today(),"y")”(C2单元格的格式为常规),按回车键后,C2单元格中的数值就是计算后的年龄。此函数在计算时,只有在两日期相差满12个月,才算为一年,假如生日是2004年2月27日,今天是2005年2月28日,用此函数计

excel使用日期和时间函数公式

excel使用日期和时间函数公式 excel使用日期和时间函数公式excel如何显示当前日期函数公式 显示当前年份函数:【=year(now())】 显示当前月份函数:【=month(now())】 显示当前日期函数:【=day((now()))】 显示当前星期函数:【=text(now(),"aaaa")】 显示当前准确时间:【=text(now(),"hh:mm:ss")】 显示当前年月日:【=today()】 显示当前年月日和时间:【=now()】 使用方法:直接在某单元格输入以上函数公式即可获得结果。 excel如何通过日期判断星期几 通过日期显示星期几:【=weekday(a2,2)】 通过日期显示中文带星期:【=text(a2,"aaaa")】 通过日期计算中文星期:【=text(a4,"aaa")】 通过日期计算英文星期简写:【=text(a5,"ddd")】 通过日期计算英文星期:【=text(a5,"dddd")】 使用方法:指定输入日期的单元格,输入以上函数公式即可获取星期。 excel如何求月份天数函数 求某日期的月份天数:

【=day(date(year(a2),month(a2)+1,0))】使用方法:需要指定包含日期的单元格。 直接求当前月份天数:【=day(eomonth(now(),0))】使用方法:直接在某单元格输入以上公式即可获取天数。 求当前月份天数减去周六和周日:【=sumproduct(--(mod(row(indirect(date(year(now()),month (now()),1)&":"&date(year(now()),month(now())+1,0))),7)>1 ))】使用方法:直接在某单元格输入以上公式即可获取天数。 excel快捷键快速获取日期时间 当然,在有些情况下,我们可以直接通过excel快捷键来获取当前的日期和时间。 获取当前年月日快捷键:【ctrl+;】 获取当前时间快捷键:【ctrl+shift+;】 获取年月日和时间:先在单元格使用【ctrl+;】,然后空格在使用快捷键【ctrl+shift+;】

Excel常用电子表格公式大全【汇总篇】

Excel 常用电子表格公式大全【汇总篇】 篇一:Excel 常用电子表格公式汇总 Excel 常用电子表格公式汇总 1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。 2、用出生年月来计算年龄公式: =TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。 3、从输入的 18 位身份证号的出生年月计算公式: =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1," 男 "," 女 "),IF(MOD(MID(C2,17,1),2)=1," 男 "," 女 ")) 公式内的“C2”代表的是输入身份证号码的单元格。 5、求和: =SUM(K2:K56)——对 K2 到 K56 这一区域进行求和; 6、平均数: =AVERAGE(K2:K56)——对 K2 K56 这一区域求平均数; 7、排名: =RANK(K2,K$2:K$56)——对 55 名学生的成绩进行排名; 8、等级: =IF(K2>=85,"优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格"))) 9、 学期总评: =K2*0.3+M2*0.3+N2*0.4 ——假设 K 列、 M 列和 N 列分别存放着学生的“平 时总评”、“期中”、“期末”三项成绩; 10、最高分: =MAX(K2:K56) ——求 K2 到 K56 区域(55 名学生)的最高分; 11、最低分: =MIN(K2:K56) ——求 K2 到 K56 区域(55 名学生)的最低分; 12、分数段人数统计: (1) =COUNTIF(K2:K56,"100") ——求 K2 到 K56 区域 100 分的人数;假设把结果存放于 K57 单元格; (2)=COUNTIF(K2:K56,">=95")-K57 ——求 K2 到 K56 区域 95~99.5 分的人数;假设把结 果存放于 K58 单元格; (3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58)——求 K2 到 K56 区域 90~94.5 分的人数; 假设把结果存放于 K59 单元格; (4) =COUNTIF(K2:K56,">=85")-SUM(K57:K59)——求 K2 到 K56 区域 85~89.5 分的人数; 假设把结果存放于 K60 单元格; (5) =COUNTIF(K2:K56,">=70")-SUM(K57:K60)——求 K2 到 K56 区域 70~84.5 分的人数; 假设把结果存放于 K61 单元格; (6) =COUNTIF(K2:K56,">=60")-SUM(K57:K61)——求 K2 到 K56 区域 60~69.5 分的人数; 假设把结果存放于 K62 单元格; (7) =COUNTIF(K2:K56," 说明:COUNTIF 函数也可计算某一区域男、女生人数。 如:=COUNTIF(C2:C351,"男") ——求 C2 到 C351 区域(共 350 人)男性人数; 1 / 10

在Excel中利用系统时间和出生年月计算年龄

在Excel中利用系统时间和出生年月计算年龄是人事管理、工资统计中经常性遇到的工作,笔者由于工作关系对此有些研究,现将有关计算方法介绍如下,供读者朋友们参考: 一、利用DAYS360、CEILING和TRUNC函数 1.函数简介 ①DAYS360函数 它能按每年360天(每月30天)计算出两个日期间的天数,作为计算工龄的工具非常方便。它的语法为: DAYS360(Start_date,end_date,method) 其中,Start_date是计算时间段的起始日期,end_date是计算时间段的结束日期,method用来指定计算方法的逻辑值(取FALSE或忽略使用美国方法,取TRUE则使用欧洲方法)。 另外,不同地方计算工龄的规则不尽相同。有的按“虚工龄”计算,如1998年6月1日至2000年12月31日工龄为3年;而有的则按“实工龄”计算,1998年6月1日至2000 年12月31日工龄为2年;对此可使用CEILING函数或TRUNC函数处理。 ②CEILING函数 它的语法为: CEILING(number,significance) 其中number为待计算的数值,significance确定取整计算的倍数;该函数可将number 沿着绝对值增大的方向,计算出一个最接近(或最小倍数significance)的整数。 ③TRUNC函数 它的作用是将数字的指定部分截去,计算出一个最接近的整数或小数,语法为: TRUNC(number,num_digits)其中number为待计算的数值,num_digits用于指定小数部分的截取精度,取0时不保留小数、取1时保留一位小数(依次类推)。 2.计算公式 ①“虚工龄” 根据计算要求和有关函数的特点,计算“虚工龄”的公式为:“=CEILING((DAYS360(A1,B1))/360,1)”。公式中的A1和B1分别存放工龄的起止日期,“DAYS360(A1,B1)”计算两个日期间的天数,(DAYS360(A1,B1))/360则按一年360天计算出工龄。由于工龄一般以年为单位,故用CEILING函数将上面的计算结果(沿绝对值增大的方向)取整,从而得出“虚工龄”。 ②“实工龄” 计算“实工龄”的公式为:“=TRUNC((DAYS360(A1,B1))/360,0)”,公式中计算工龄天数的方法与上面的相同。TRUNC函数将(DAYS360(A1,B1))/360的计算结果截去小数部分,从而得出“实工龄”。如果计算结果需要保留一位小数,只须将公式修改为 “=TRUNC((DAYS360(A1,B1))/360,1)”即可。 二、YEAR和RIGHT函数 1.函数简介 ①YEAR函数 它可以计算出日期序列数(如两个日期相减的结果)所对应的年份数,其语法为: YEAR(Serial_ number),其中Serial_ number为待计算的日期序列数,既可以是一个具体的数值,也可以是一个表达式。 ②RIGHT函数 该函数用来提取字符串最右边的若干个字符,因为YEAR函数的计算结果带有19等字样,必须利用RIGHT函数将它过滤掉。该函数的语法为:RIGHT(Text,Num_chars),

EXCEL计算两个日期之间天数的函数

EXCEL计算两个日期之间天数的函数语法 DATEDIF(start_date,end_date,unit) Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文本串(例如"2001/1/30")、系列数(例如,如果使用1900 日期系统则36921 代表2001 年 1 月30 日)或其他公式或函数的结果(例如,DATEVALUE("2001/1/30"))。有关日期系列数的详细信息,请参阅NOW。 End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。 Unit 为所需信息的返回类型。 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 使用不同的默认日期系统。有关详细信息,请参阅NOW。 示例 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 之间的差,忽略日期中的年和月。

Excel常用函数汇总

如果匹配不到内容就直接返回空值: =IFERROR(VLOOKUP($A2,Sheet2!$A$2:$L$99,5,0),"") 如果A2的单元格不为空就进行匹配,如匹配不到内容则直接返回空,如匹配有内容则将匹配到的文本类型的数字转化为数字类型可求和的数字 =IFERROR(IF(A2<>"",VALUE(VLOOKUP($A2,Sheet2!$A$2:$L$99,5,0)),""),"") 注意:Sheet2表格内的数据由于被引用不能直接删除单元格,只能粘贴替换或选择“清除内容”。 如果A1单元格为空,则为空,如果A1单元格不为空,则求和A1到A5的数值: =IF(A1=””,””,SUM(A1:A5)) 截取单元格中指定字符后的所有文本(不包括指定字符): 截取D5单元格中“市”字后面的所有文本: =MID(D5,FIND("市",D5,1)+1,LEN(D5)-FIND("市",D5,1)) 查找“市”字在D5单元格中的位置并往后移一位得到“市”字后面的第一个字的所在位置字符长度的数字: =FIND("市",D5,1)+1 D5单元格的字符总长度数字减去“市”字前的长度数字得到“市”字后面字符长度的数字(不包括“市”字和“市”字之前的字符): =LEN(D5)-FIND("市",D5,1) excel判断两个单元格是否相同 如果只是汉字,用如下公式 =IF(A1=B1,"相同","不同") 如果包含英文且要区分英文大小写,用如下公式 =IF(EXACT(A1,B1),"相同","不同") 将两个不同表单或表格的内容自动查找相应内容合并在一个表格内:=VLOOKUP(I2,A1:D41,4,0) =VLOOKUP(两表中相同的值,其它表单或表格区域,要匹配值所在的列的数目,0) 将截取后的数字转为数字格式显示(利于计算统计)=VALUE(MID(D2,1,10))

Excel的日期函数用法大全

Excel的日期函数用法大全 好多朋友对Excel的日期函数还是比较模糊的。其实日期就是一组特殊的序列值,如果在单元格中输入1,然后设置成日期格式,看看是不是变成了1900年1月1日?下面给大家介绍日期函数用法。 日期函数主要用于计算星期、工龄、年龄、账龄、利息,以及计算某个时间段的数据汇总等等。今天本文主要讲述一些常用日期函数的用法。 1、=TODAY() 取当前的系统日期 2、=NOW() 取当前系统日期和时间 3、= NOW()-TODAY() 计算当前是几点几分。也可以用=MOD(NOW(),1)计算。 4、=YEAR(TODAY()) 取当前日期的年份 5、=MONTH(TODAY()) 取当前日期的月份 6、=DAY(TODAY()) 计算当前日期是几号。 7、=WEEKDAY(TODAY(),2)

计算今天是星期几。 第二参数是2,表示将星期一计算为1,这样比较符合国人的习惯。也可以写成=TEXT(TODAY(),"aaa") 8、=EDATE(TODAY(),1) 计算当前日期之后一个月的日期。 如果第二参数写成-1,就是计算当前日期之前1个月的日期。 9、=EOMONTH(TODAY(),1) 计算下个月最后一天的日期。 如果第二参数写成0,也就是=EOMONTH(TODAY(),0),这样计算的是本月最后一天的日期。再用=DAY(EOMONTH(TODAY(),0))就可以计算出当前这个月一共有多少天了。 10、=EOMONTH(TODAY(),0)-TODAY() 计算今天到本月底还有多少天。 绿色部分是月底的日期,红色部分是今天的日期。 11、=IF(COUNT(-"2-29"),"是","否") 计算今年是不是闰年。 在Excel中如果输入“月/日”形式的日期,会默认按当前年份处理。如果当前年份中没有2月29日,输入"2-29"就会作为文本处理。如果当前年份没有2月29日,"2-29"前面加上负号,就相当于在文本前加负号,会返回错误值#VALUE!。再用COUNT函数判断-"2-29"是数值还是错误值,如

EXCEL日期与时间函数大全

1.DATE 用途:返回代表特定日期的序列号。 语法:DATE(year,month,day) 参数:year为一到四位,根据使用的日期系统解释该参数。默认情况下,Excel for Windows使用1900日期系统,而Excel for Macintosh使用1904日期系统。Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法运算。Day 代表在该月份中第几天的数字。如果day 大于该月份的最大天数时,将从指定月份的第一天开始往上累加。 注意:Excel按顺序的序列号保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为序列号1。同理,会将1998年1月1日保存为序列号35796,因为该日期距离1900年1月1日为35795天。 实例:如果采用1900日期系统(Excel默认),则公式“=DATE(2001,1,1)”返回36892。 2.DATEVaLUE 用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。 语法:DATEVaLUE(date_text) 参数:Date_text是用Excel日期格式表示日期的文本。在使用1900日期系统中,date_text必须是1900年1月1日到9999年12月31日之间的一个日期;而在1904日期系统中,date_text必须是1904年1月1日到9999年12月31日之间的一个日期。如果date_text超出上述范围,则函数DATEVaLUE返回错误值#value!。 如果省略参数date_text中的年代,则函数DATEVaLUE使用电脑系统内部时钟的当前年代,且date_text中的时间信息将被忽略。 实例:公式“=DATEVaLUE("2001/3/5")”返回36955,DATEVaLUE("2-26")返回36948。 3.DAY 用途:返回用序列号(整数1到31)表示的某日期的天数,用整数1 到31 表示。 语法:DAY(serial_number) 参数:Serial_number是要查找的天数日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统的35825表示的1998年1月30日),以及其他公式或函数的结果(如DATEVaLUE("1998/1/30"))。 实例:公式“=DAY("2001/1/27")”返回27,=DAY(35825)返回30, =DAY(DATEVaLUE("2001/1/25"))返回25。 4.DAYS360 用途:按照一年360天的算法(每个月30天,一年共计12 个月),返回两日期间相差的天数。 语法:DAYS360(start_date,end_date,method)

Excel函数计算第几周的方法

Excel函数计算第几周的方法 第一,excel计算第几周的方法 excel计算第几周,一般是根据指定的任意日期判断所属日位于本年中的周数。 具体如下面的截图:A2单元格是任意一个日期,在B2单元格用excel计算第几周。 如果一周开始于星期一:=weeknum(date,2),反之一周从星期日开始计算:=weeknu m(date,1)。 用excel函数第几周总结两种方法: 第一,B2单元格公式:=WEEKNUM(A2,1) 第二,B2单元格公式:=INT(((A2-VALUE(YEAR(A2)&-1&-1))+WEEKDAY(VALUE(YEA R(A2)&-1&-1))-1)/7)+1 如果是计算当天处于本年的第几周,可以用公式:=WEEKDAY(TODAY())。 第二,excel计算第几周对应的日期范围从几月几日到几月几日 excel函数第几周对应日期范围解法一: B4单元格开始日期的公式为:=MAX(DATE(B1,1,1),DATE(B1,1,1)-WEEKDAY(DATE(B 1,1,1),2)+(B2-1)*7+1) 解释:用当年1月1日上一周的周日加上(n-1)*7+1天,并用MAX将下限设置为1月1日。 B5单元格结束日期的公式为:=MIN(DATE(B1+1,1,0),DATE(B1,1,1)-WEEKDAY(DATE (B1,1,1),2)+B2*7) excel函数第几周对应日期范围解法二:

开始日期:=(B1&-1)-WEEKDAY(B1&-1,2)+B2*7-6 结束日期:=(B1&-1)-WEEKDAY(B1&-1,2)+B2*7

Excel表格常用运算公式及使用方法汇总

Excel表格常用运算公式及使用方法汇总 1、查找重复内容公式:=IF(COUNTIF(A:AA2)>1”重复””")。 2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6”2009/8/30″FALSE))/3600)。 3、从输入的18位身份证号的出生年月计算公式: =CONCATENATE(MID(E274)”/”MID(E2112)”/”MID(E2132))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15IF(MOD(MI D(C2151)2)=1”男””女”)IF(MOD(MID(C2171)2)=1”男””女”))公式内的“C2”代表的是输入身份证号码的单元格。 1、求和: =SUM(K2:K56) ——对K2到K56这一区域进行求和; 2、平均数: =AVERAGE(K2:K56) ——对K2 K56这一区域求平均数; 3、排名: =RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名; 4、等级:=IF(K2>=85”优”IF(K2>=74”良”IF(K2>=60”及格””不及格”))) 5、学期总评: =K2*0.3+M2*0.3+N2*0.4 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩; 6、最高分: =MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分; 7、最低分: =MIN(K2:K56) ——求K2到K56区域(55名学生)的最低分; 8、分数段人数统计: (1) =COUNTIF(K2:K56”100″) ——求K2到K56区域100分的人数;假设把结果存放于K57单元格; (2) =COUNTI F(K2:K56”>=95″)-K57 ——求K2到K56区域95~99.5分的人数;假设把结果存放于K58单元格; (3)=COUNTIF(K2:K56”>=90″)-SUM(K57:K58) ——求K2到K56区域90~94.5分的人数;假设把结果存放于K59单元格; (4)=COUNTIF(K2:K56”>=85″)-SUM(K57:K59) ——求K2到K56区域85~89.5分的人数;假设把结果存放于K60单元格; (5)=COUNTIF(K2:K56”>=70″)-SUM(K57:K60) ——求K2到K56区域70~84.5分的人数;假设把结果存放于K61单元格; (6)=COUNTIF(K2:K56”>=60″)-SUM(K57:K61) ——求K2到K56区域60~69.5分的人数;假设把结果存放于K62单元格; (7) =COUNTIF(K2:K56”<60″) ——求K2到K56区域60分以下的人数;假设把结果存放于K63单元格; 说明:COUNTIF函数也可计算某一区域男、女生人数。 如:=COUNTIF(C2:C351”男”) ——求C2到C351区域(共350人)男性人数;

Excel 日期常用函数

VBA日期的加减函数:DateAdd 函数 返回包含一个日期的Variant (Date),这一日期还加上了一段时间间隔。 语法 DateAdd(interval, number, date) DateAdd 函数语法中有下列命名参数: 部分描述 interval必要。字符串表达式,是所要加上去的时间间隔。 number必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。 date必要。Variant(Date) 或表示日期的文字,这一日期还加上了时间间隔。 设置 interval 参数具有以下设定值: 设置描述 yyyy 年 q 季 m 月 y 一年的日数 d 日 w 一周的日数 ww 周 h 时 n 分钟

s 秒 说明 可以使用DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用Dat eAdd来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。 为了对date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”)或“一周的日数” (”w”)。 DateAdd 函数将不返回有效日期。在以下实例中将 1 月31 日加上一个月: DateAdd(m, 1, 31-Jan-95) 上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果date是 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年2 月 29 日。 如果计算的日期超前 100 年(减去的年度超过date中的年份),就会导致错误发生。 如果number不是一个 Long 值,则在计算时取最接近的整数值来计算。 注意DateAdd返回值的格式由Control Panel设置决定,而不是由传递到date参数的格式决定。 DateAdd 函数示例 本示例先取得一个日期,再用DateAdd函数显示未来数月后的日期。 Dim FirstDate As Date ' 声明变量。 Dim IntervalType As String Dim Number As Integer Dim Msg IntervalType = "m" ' "m"指定以“月份”作为间隔。 FirstDate = InputBox("Enter a date") Number = InputBox("Enter number of months to add") Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate) MsgBox Msg

EXCEL函数公式大全(日期)

excel常用函数公式及技巧搜集(常用的)【身份证信息?提取】 从身份证号码中提取出生年月日 =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")*1 =IF(A2<>"",TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")+0,) 显示格式均为yyyy-m-d。(最简单的公式,把单元格设置为日期格式) =IF(LEN(A2)=15,"19"&MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),MID(A2,7,4)& "-"&MID(A2,11,2)&"-"&MID(A2,13,2)) 显示格式为yyyy-mm-dd。(如果要求为“1995/03/29”格式的话,将”-”换成”/”即可) =IF(D4="","",IF(LEN(D4)=15,TEXT(("19"&MID(D4,7,6)),"0000年00月00日 "),IF(LEN(D4)=18,TEXT(MID(D4,7,8),"0000年00月00日")))) 显示格式为yyyy年mm月dd日。(如果将公式中“0000年00月00日”改成“0000-00-00”,则显示格式为yyyy-mm-dd) =IF(LEN(A1:A2)=18,MID(A1:A2,7,8),"19"&MID(A1:A2,7,6)) 显示格式为yyyymmdd。 =TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 =IF(LEN(A2)=18,MID(A2,7,4)&-MID(A2,11,2),19&MID(A2,7,2)&-MID(A2,9,2)) =MID(A1,7,4)&"年"&MID(A1,11,2)&"月"&MID(A1,13,2)&"日" =IF(A1<>"",TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")) 从身份证号码中提取出性别 =IF(MOD(MID(A1,15,3),2),"男","女") (最简单公式) =IF(MOD(RIGHT(LEFT(A1,17)),2),"男","女") =IF(A2<>””,IF(MOD(RIGHT(LEFT(A2,17)),2),”男”,”女”),) =IF(V ALUE(LEN(ROUND(RIGHT(A1,1)/2,2)))=1,"男","女") 从身份证号码中进行年龄判断 =IF(A3<>””,DATEDIF(TEXT((LEN(A3)=15*19&MID(A3,7,6+(LEN(A3)=18*2),”#-00-00”),T ODAY(),”Y”),) =DATEDIF(A1,TODAY(),“Y”) (以上公式会判断是否已过生日而自动增减一岁) =YEAR(NOW())-MID(E2,IF(LEN(E2)=18,9,7),2)-1900 =YEAR(TODAY())-IF(LEN(A1)=15,"19"&MID(A1,7,2),MID(A1,7,4)) =YEAR(TODAY())-V ALUE(MID(B1,7,4))&"岁" =YEAR(TODAY())-IF(MID(B1,18,1)="",CONCATENATE("19",MID(B1,7,2)),MID(B1,7,4)) 按身份证号号码计算至今天年龄 =DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"y") 以2006年10月31日为基准日,按按身份证计算年龄(周岁)的公式

工作中最常用的excel函数公式大全

工作中最常用的excel函数公式大全 一、数字处理 1、取绝对值=ABS(数字) 2、取整=INT(数字) 3、四舍五入=ROUND(数字,小数位数) 二、判断公式 1、把公式产生的错误值显示为空 公式:C2=IFERROR(A2/B2,"") 说明:如果是错误值则显示为空,否则正常显示。 2、IF多条件判断返回值公式: C2=IF(AND(A2<500,B2="未到期"),"补款","") 说明:两个条件同时成立用AND,任一个成立用OR函数。

1、统计两个表格重复的内容 公式:B2=COUNTIF(Sheet15!A:A,A2) 说明:如果返回值大于0说明在另一个表中存在,0则不存在。 2、统计不重复的总人数 公式:C2=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

1、隔列求和 公式:H3=SUMIF($A$2:$G$2,H$2,A3:G3) 或=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 说明:如果标题行没有规则用第2个公式 2、单条件求和 公式:F2=SUMIF(A:A,E2,C:C) 说明:SUMIF函数的基本用法

3、单条件模糊求和 公式:详见下图 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 4、多条件模糊求和 公式:C11=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 说明:在sumifs中可以使用通配符*

常用函数汇总【我】

常用函数汇总 一、条件统计=COUNTIF(考勤表!C2:AG2,"A") 二、VLOOKUP查找 =IFERROR(VLOOKUP($B$2:$B$1499,填写!$B$2:$CW$1499,2,0),0) 三、排名次=RANK(G4,$G$4:$G$54) 四、按排名,确定金、银、铜牌 =IF(H4>$L$11,"",IF(H4>$L$10,"铜牌",IF(H4>$L$9,"银牌","金牌"))) 五、统计80分以上人数 =ROUND(SUMPRODUCT(N(G4:G54>=80)),0) 【前20%】=ROUND(SUMPRODUCT(N(G4:G54>=80))*0.2,0) 六、统计60分以上人数 =ROUND(SUMPRODUCT(N(G4:G54>=60)),0) 【90%】=ROUND(SUMPRODUCT(N(G4:G54>=60))*0.9,0)+1 七、分母为0的简单函数理解 =IF(ISERROR(A1/B1),0,A1/B1) 八、单元格数量统计和为0的单元格数量统计和 =COUNTIF(L5:L21) =COUNTIF(L5:L21,0) 九、平均成绩的统计【解决0/0=0的问题;并考虑了弃权票的问题】 =IF(ISERROR(SUM(C5:E5)/(COUNT(C5:E5)-COUNTIF(C5:E5,0))),0, SUM(C5:E5)/(COUNT(C5:E5)-COUNTIF(C5:E5,0))) 十、小数的四舍五入问题【绝对四舍五入】 =ROUND(T11,4) 十一、平均成绩的简单函数【考虑到弃权票的问题】 =SUM(T8:T10)/(COUNT(T8:T10)-COUNTIF(T8:T10,0)) 十二、根据成绩排名后,在指定单元格显示第一名的组别名称 做 1、=INDEX(B:B,MATCH(1,D:D,)) 2、=OFFSET(B1,MATCH(1,D:D,)-1,) 十三、根据考核等次,按110%、100%、90%系数发放绩效工资=IF(E5="金牌",P5*1.1,IF(E5="银牌",P5,IF(E5="铜牌",P5*0.9)))

Excel函数计算公式大全完整

EXCEL函数公式大全(完整) 函数说明 CALL调用动态链接库或代码源中的过程 EUROCONVERT用于将数字转换为欧元形式,将数字由欧元形式转换为欧元成员国货币形式,或利用欧元作为中间货币将数字由某一欧元成员国货币转化为另一欧元成员国 货币形式(三角转换关系) GETPIVOTDATA返回存储在数据透视表中的数据 REGISTER.ID返回已注册过的指定动态链接库(DLL) 或代码源的注册号 SQL.REQUEST连接到一个外部的数据源并从工作表中运行查询,然后将查询结果以数组的形式返回,无需进行宏编程 函数说明 CUBEKPIMEMBER返回重要性能指标(KPI) 名称、属性和度量,并显示单元格中的名 称和属性。KPI 是一项用于监视单位业绩的可量化的指标,如每月 总利润或每季度雇员调整。 CUBEMEMBER返回多维数据集层次结构中的成员或元组。用于验证多维数据集内

是否存在成员或元组。 CUBEMEMBERPROPERTY返回多维数据集内成员属性的值。用于验证多维数据集内是否存在 某个成员名并返回此成员的指定属性。 CUBERANKEDMEMBER返回集合中的第n 个或排在一定名次的成员。用于返回集合中的一 个或多个元素,如业绩排在前几名的销售人员或前10 名学生。 CUBESET通过向服务器上的多维数据集发送集合表达式来定义一组经过计算 的成员或元组(这会创建该集合),然后将该集合返回到Microsoft Office Excel。 CUBESETCOUNT返回集合中的项数。 CUBEVALUE返回多维数据集内的汇总值。 数据库函数 函数说明 DAVERAGE返回所选数据库条目的平均值 DCOUNT计算数据库中包含数字的单元格的数量 DCOUNTA计算数据库中非空单元格的数量

Excel常用函数公式大全(实用)

Excel常用函数公式大全 1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。 2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。 3、从输入的18位身份证号的出生年月计算公式: =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))公式内的“C2”代表的是输入身份证号码的单元格。 1、求和:=SUM(K2:K56) ——对K2到K56这一区域进行求和; 2、平均数:=AVERAGE(K2:K56) ——对K2 K56这一区域求平均数; 3、排名:=RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名; 4、等级:=IF(K2>=85,"优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格"))) 5、学期总评:=K2*0.3+M2*0.3+N2*0.4 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩; 6、最高分:=MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分; 7、最低分:=MIN(K2:K56) ——求K2到K56区域(55名学生)的最低分; 8、分数段人数统计: (1)=COUNTIF(K2:K56,"100") ——求K2到K56区域100分的人数;假设把结果存放于K57单元格; (2)=COUNTIF(K2:K56,">=95")-K57 ——求K2到K56区域95~99.5分的人数;假设把结果存放于K58单元格; (3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58) ——求K2到K56区域90~94.5分的人数;假设把结果存放于K59单元格; (4)=COUNTIF(K2:K56,">=85")-SUM(K57:K59) ——求K2到K56区域85~89.5分的人数;假设把结果存放于K60单元格;

七年级上册数学常用公式汇总

七年级数学(上)常用公式及等量关系 1、行程问题 行程问题中的三个量及其关系为: )()()(t v s 时间速度路程?=, )()()(t s v 时间路程速度= , ) ()()(v s t 速度路程时间= (1)相遇问题:快行路程+慢行路程=原相距路程 (2)追及问题:快行路程-慢行路程=原相距路程 (3)航行问题: V 顺 = V 静+V 水 ; V 逆= V 静—V 水 ; V 顺 - V 水= V 逆+V 水=V 静 ; V 顺 - V 静= V 静-V 逆= V 水 ; 2逆顺水v v v -= ; 2 逆顺静v v v += 抓住两码头间距离不变,水流速和船速(静不速)不变的特点考虑相等关系 (4)环行跑道(同一地点出发) 反向:每相遇一次合走一圈 ,甲的路程 +乙的路程=环形周长×相遇的次数 同向:每追上一次多走一圈, 快的路程-慢的路程=环形周长×追上的次数 (5)车过桥或通过山洞隧道问题 过桥:(桥长+列车长)÷速度=过桥时间; (桥长+列车长)÷过桥时间=速度; 速度×过桥时间=桥长+车长。 过山洞隧道:(洞长+列车长)÷速度=过洞时间; (洞长+列车长)÷过洞时间=速度; 速度×过洞时间=洞长+车长。 (6)时钟问题: 通常将时钟问题看作以整时整分为起点的同向追击问题来分析。 常用数据:①时针的速度是0.5°/分;②分针的速度是6°/分;③秒针的速度是6°/秒 2、销售盈亏问题 (1)进价售价利润-=; (2)%100?=进价 利润利润率 (3)10 折扣数打折前的标价打折后售价?=; (4)盈利:售价利润率)(进价=+?1 (5)亏损:售价利润率)(进价=-? 1 3、工程问题 (1)工程问题中的三个量及其关系为:工作量=工作效率×工作时间 工作时间工作总量 工作效率= ; 工作效率工作总量 工作时间=

《集合与常用逻辑用语,函数》知识总结大全

第一章 集合与常用逻辑用语知识结构 【知识概要】 一、集合的概念、关系与运算 1. 集合中元素的特性:确定性、互异性、无序性. 在应用集合的概念求解集合问题时,要特别注意这三个性质在解题中的应用,元素的互异性往往就是检验的重要依椐。 2. 集合的表示方法:列举法、描述法. 有的集合还可用Venn 图表示,用专用符号表示,如,,,,,,N N N Z R Q φ*+等。 3. 元素与集合的关系:我们把研究对象统称为元素,把一些元素组成的总体叫做集合,若元素x 是集合A 的元素,则x A ∈,否则x A ?。 4. 集合与集合之间的关系: ①子集:若x A ∈,则x B ∈,此时称集合A 是集合B 的子集,记作A B ?。 ②真子集:若A B ?,且存在元素x B ∈,且x A ?,则称A 是B 的真子集,记作:A B . ③相等:若A B ?,且A B ?,则称集合A 与B 相等,记作A =B .。 5. 集合的基本运算: ①交集:{}A B x x A x B =∈∈I 且 ②并集:{}A B x x A x B =∈∈U 或 ③补集:{|,}U C A x x U x A =∈?且,其中U 为全集,A U ?。 6. 集合运算中常用结论: ①,,A A A A A B B A φφ===I I I I ,A B A A B =??I 。 ②,,A A A A A A B B A φ===U U U U ,A B A B A =??U 。 ③()U A C A U =U ,()U C A A ?=I , ()()()U U U C A B C A C B =I U ,()()()U U U C A B C A C B =U I 。 ④由n 个元素所组成的集合,其子集个数为2n 个。 ⑤空集是任何集合的子集,即A ??。 在解题中要特别留意空集的特殊性,它往往就是导致我们在解题中出现错误的一个对象,避免因忽视空集而出现错误。 ●7.含参数的集合问题是本部分的一个重要题型,应多根据集合元素的互异性挖掘题目的隐含条件,并注意分类讨论思想、数形结合思想在解题中的运用。 二、命题及其关系 ●1.命题的概念:用语言、符号或式子表达的,可以判断真假的陈述句叫做命题。 若p ,则q 若q ,则p ? ≠

相关主题