IBM Lotus Symphony


日期和时间函数

这些电子表格函数用于插入和编辑日期和时间。这些函数是: DATEDATEVALUEDAYDAYSDAYS360EASTERSUNDAYEDATEEOMONTHHOURMINUTEMONTHNETWORKDAYSNOWSECONDTIMETIMEVALUETODAYWEEKDAYWEEKNUMWEEKNUM_ADDWORKDAYYEARYEAR2YEARFRAC

备注图标 IBM Lotus Symphony 在内部将日期/时间值作为数字值处理。 如果将日期或时间值指定为编号格式“Number”,日期或时间将转换为数字。例如,2000 年 1 月 1 日下午 12:00 将转换为 36526.5。小数点前的数值对应于日期,小数点后的数值对应于时间。 如果不希望以数字形式显示日期或时间,请相应地更改日期或时间的数字格式。要进行更改,请选择包含日期或时间值的单元格,打开其上下文菜单并选择单元格数字选项卡页面包含定义数字格式的函数。
备注图标 输入日期时,作为日期分隔符的连字符和斜线符号可能解释为算术运算符。 因此,按照此格式输入的日期不一定会被识别为日期,并可能会导致错误的运算。 为防止日期被解释为公式的一部分,请在日期前后加上引号,例如 "07/20/54"。

WORKDAY

结果是一个可以日期格式的日期数字。随后您会看到与 Start date 间距一定 Workday 的那一天的日期。

语法

WORKDAY(startdate;days;holidays)

Start date:开始计算的日期。如果开始日期是一个工作日,那么这一天也要计算在内。

Days:工作日天数。开始日期后的结果为正值,开始日期前的为负值。

Holidays:可选假日列表。这些是不需要工作的日子。请设置一个个别执行假日的单元格区域。

示例

2001 年 12 月 1 日后的第 17 个工作日是哪一天?在 C3 中输入开始日期 "12/1/2001",在 D3 中输入工作日的天数。单元格 F3 到 J3 中则是随后的圣诞节和新年假期:"12/24/2001"、"12/25/2001"、"12/26/2001"、"12/31/2001" 和 "1/1/2002"。

=WORKDAY(C3;D3;F3:J3) 的结果为 2002 年 1 月 28 日。您可将日期数字字符串转为日期格式。

YEARFRAC

结果是 0 到 1 之间的一个数字,表示 Start dateEnd date 之间的天数在一年中所占的比例。

语法

YEARFRAC(start_date;end_date;basis)

Start dateend date:两个日期值。

Basis:从一个选项列表中选择它,表明年份的计算方式。

basis 计算
0 或空缺 美国方法(NASD),12 个月且每月为 30 天
1 一个月中的确切天数,一年中的确切天数
2 一个月中的确切天数,一年有 360 天
3 一个月中的确切天数,一年有 365 天
4 欧洲方法,12 个月且每月为 30 天

示例

2002 年 1 月 1 日和 2001 年 7 月 1 日之间的天数占 2001 年一年中总天数的份额是多少?

=YEARFRAC("2002-1-1";"2001-7-1";1) 结果为 0.5。

DATE

此函数可以将一个以年月日表示的日期转换为一个内部序列数,并以单元格的格式显示。DATE 函数所在单元格的缺省格式是日期格式,但是您可以使用 0 数字格式重新应用单元格格式,从而以数字形式显示该日期的内部序列数。

语法

DATE(year; month; day)

year 是一个在 1583 和 9956 之间或者在 0 和 99 之间的整数。

month是一个用来表示月份的在 1 和 12 之间的整数。

day是一个用来表示一个月内某一天的在 1 和 31 之间的整数。

若输入的月份数和天数大于允许的范围,程序就会将其进位到下一个数字位数。比如:输入的是 =DATE(00;12;31),获得的结果便是 00-12-31。如果输入的是 =DATE(00;13;31),那么获得的结果则是 01-01-31。

您既可以直接往函数 DATE 内输入日期自变量,也可以借助单元格引用来输入自变量。

示例

输入函数 DATE(00;1;1),得到的结果是 00-1-1

另请参阅以下函数:

DATEVALUETODAYYEARNOWMONTHDAYTIMEVALUE

DATEVALUE

DATEVALUE 能够将引号内具备日期输入格式的文本转换为日期的系统内部序列数。

内部数字由 IBM® Lotus® Symphony™ 用来计算日期的日期系统生成,以自然数形式返回。

语法

DATEVALUE(date_text)

Text 是一个有效的日期表达式,且必须在其前后加上引号。

示例

函数 DATEVALUE("99-6-1") 的转换结果是 36312

另请参阅以下函数:

TODAYNOWTIMEVALUE

EDATE

结果是与 Start date 间距一定 Months 数的日期。只计算月份,而不计算日期。

语法

EDATE(Start date;Months)

Start date:一个日期。

Months:月份数。

示例

比 2001 年 3 月 31 日早一个月是哪一天?

=EDATE("2001/3/31";-1) 结果为 2001 年 2 月 28 日。

TODAY

返回计算机的当前系统日期。当重新打开文档或修改了文档内容时,这个日期会自动更新。

语法

TODAY()

TODAY是一个不含自变量的函数。

示例

借助 TODAY() 函数获得的总是计算机系统内部时钟给出的当天日期。

另请参阅以下函数:

DATENOWDAY

YEAR

按照内部计算规则将年份转换为数字。

语法

YEAR(serial_number)

serial_number 处给出的是要转换为相对应年份数的日期内部序列数。

示例

YEAR(1) 的转换结果是 1899

YEAR(2) 的转换结果是 1900

YEAR(33333) 的转换结果是 1991

另请参阅以下函数:

DAYHOURMINUTEMONTHNOWSECONDTODAYWEEKDAY

YEAR2

从日期数中抽取年份,它是介于 0(代表 1900 年)到 8099(代表 9999 年)之间的整数。

语法

YEAR2(Date-Number;[Type])

Date-number 是一个整数或包含整数的单元格的地址或名称,它介于 1(1900 年 1 月 1 日)到 2958465(9999 年 12 月 31 日)之间。

Type 是数字 0 或 1。如果 type 为 1,YEAR2 以四位数形式返回年份。如果 type 为 0 或省略,YEAR2 返回与 1900 年之间的偏移值(例如,YEAR2 返回 123 表示 2023 年)。

NOW

返回计算机系统的日期和时间。一旦您重新打开或者计算文档,或者对文档内容进行了更改,该文档内的这个内部系统时间便会自动获得更新。

语法

NOW()

示例

输入 NOW() -A1 返回 A1 和当今日期的相差数值。然后再将结果转为数字格式。

另请参阅以下函数:

DAYHOURMINUTEMONTHWEEKDAYDATEYEAR

WEEKNUM

WEEKNUM 计算的是某一日期(以系统内部序列数表示)在一年中所对应的星期序列数。

语法

WEEKNUM(value; mode)

value是日期的内部序列数。

mode 设置一周的开始日期和计算类型。

  1 = 星期天
  2 = 星期一

示例

WEEKNUM(34700;1) 的计算结果是 1(因为 95-1-1 是一个星期天)

WEEKNUM("1/1/95";2) 的计算结果是 52。因为设置每周的第一天为星期一,所以这个星期日属于上一年的最后一周。

WEEKNUM_ADD

结果表示 Date 所在星期序列数。

语法

WEEKNUM_ADD(date;return_type)

Date:特定周内的日期。

Return type:1 表示一周从星期日开始,2 表示一周从星期一开始。

示例

2001 年 12 月 24 日在哪一周?

=WEEKNUM_ADD("2001-12-24";1) 结果为 52。

MINUTE

计算内部时间值对应的分钟数。分钟数用介于 0 和 59 之间的数表示。

语法

MINUTE(serial_number)

Number,作为一个时间值,它是一个小数,其中将返回分钟数。

示例

MINUTE(8.999) 的计算结果是 58

MINUTE(8.9999) 的计算结果是 59

MINUTE(NOW() ) 的计算结果是目前时间的分钟数。

另请参阅以下函数:

DAYHOURMONTHNOWSECONDWEEKDAYYEAR

MONTH

此函数能够确定与日期值对应的月份数。月份数用介于 1 和 12 之间的整数表示。

语法

MONTH(serial_number)

Number,作为一个时间值,它是一个小数,其中将返回月份数。

示例

MONTH(NOW() ) 的计算结果是当前的月份数

MONTH(C4) 的计算结果是 7,若单元格 C4 的内容是 00-7-7。

另请参阅以下函数:

DAYHOURMINUTENOWWEEKDAYYEAR

EOMONTH

返回与 Start date 间距给定 Months 数的那个月的最后一天的日期。

语法

EOMONTH(start_date;months)

Start date:由此开始计算。

Months:开始日期之前的月份数(负数)或之后的月份数(正数)。

示例

2001 年 9 月 14 日后 6 个月的那个月的最后一天是哪天?

=EOMONTH("9.14.2001";6) 结果为 2002 年 3 月 31 日。

NETWORKDAYS

返回 Start dateEnd date 之间的工作日天数。节假日不算在内。

语法

NETWORKDAYS(start_date;end_date;holidays)

Start date:开始计算的日期。如果开始日期是一个工作日,那么这一天也要计算在内。

End date:开始计算的日期。如果 end_date 为 WORKDAY,那么该日被计算在内。

Holidays:可选假日列表。这些是不需要工作的日子。请设置一个个别执行假日的单元格区域。

示例

2001 年 12 月 15 日至 2002 年 1 月 15 日之间有多少个工作日?起始日期位于 C3,截至日期位于 D3。单元格 F3 到 J3 中则是随后的圣诞节和新年假期:"12/24/2001"、"12/25/2001"、"12/26/2001"、"12/31/2001" 和 "1/1/2002"。

=NETWORKDAYS(C3;D3;F3:J3) 结果为 17 个工作日。

EASTERSUNDAY

返回所输入年份的复活节的日期。年是介于 1583 和 9956 或 0 和 99 之间的整数。您还可以通过简单附加此日期计算其他节假日。

复活节星期一 = EASTERSUNDAY() + 1

耶稣受难节 = ESTERSUNDAY() - 2

圣灵降临节 = ESTERSUNDAY() + 49

圣灵降临节后的星期一 = ESTERSUNDAY() + 50

示例

ESTERSUNDAY(2000) 的计算结果是 2000-4-23

EASTERSUNDAY(2000) +49 的计算结果是内部序列数 36688。如果您采用的是 MMDDYY 日期格式,那么结果是 06/11/00。

SECOND

此函数能够确定与时间值对应的秒种数。秒种数用介于 0 和 59 之间的整数表示。

语法

SECOND(serial_number)

Number,作为一个时间值,它是一个小数,将返回秒数。

示例

SECOND(NOW() ) 的计算结果是目前时间的秒种数

SECOND(C4) 的计算结果是 17,若单元格 C4 的内容是 12:20:17。

另请参阅以下函数:

DATEDAYHOURMINUTEMONTHNOWWEEKDAYYEAR

HOUR

此函数能够确定与时间值对应的小时数。小时数用介于 0 和 23 之间的整数表示。

语法

HOUR(serial_number)

Number,作为一个时间值,它是一个小数,将返回小时数。

示例

HOUR(NOW) ) 的计算结果是目前时间的小时数

HOUR(C4) 的计算结果是 17,若单元格 C4 的内容是 17:20:00。

另请参阅以下函数:

DAYMINUTEMONTHNOWWEEKDAYYEAR

DAY

此函数能够确定与日期值相对应的一月内的某天。结果用介于 1 和 31 之间的整数表示。也可以输入负的日期/时间值。

语法

DAY(serial_number)

Number作为一个时间值,它是一个小数,将返回天数。

示例

DAY(1) 返回 31(因为 Lotus Symphony 从 1899 年 12 月 30 日零时开始计数)

DAY(NOW() ) 的计算结果是今天的日期天数。

DAY(C4) 的计算结果是 5,若单元格 C4 的内容是 1901-8-5。

另请参阅以下函数:

HOURMINUTEMONTHNOWSECONDTODAYWEEKDAYYEAR

DAYS

借助此函数您能够计算两个日期的相差天数。结果是一个整数。

语法

DAYS(Date_2;Date_1)

Date_1 是开始日期,Date_2 是结束日期。如果 Date_2 早于 Date_1,那么结果是一个负数。

示例

DAYS(2010-1-1; NOW() ) 的计算结果是 2010 年 1 月 1 日与今天之间的相差天数。

DAYS(1990-10-10; 1980-10-10) 的计算结果是 3652。

DAYS360

借助这个函数您能够按照一年 360 天的算法,计算两个日期之间的相差天数。结果用整数表示。

语法

DAYS360(Date_1;Date_2;Type)

如果日期 2 的时间比日期 1 早,函数产生的结果是一个负值。

可选自变量类型决定了不同的运算类型。Type = 0 或者没有 Type 自变量时,采用美国方式(NASD,美国证券交易商协会)。Type <> 0 时,采用欧洲方式。

示例

DAYS360(2000-1-1; NOW() ) 的计算结果是今天与 2000 年 1 月 1 日之间的相差天数。

另请参阅以下函数:

DAY

WEEKDAY

借助此函数您能够确定与日期值相对应的一周内的某天。如果未指定类型或指定 type = 1,返回的日期将是 1(周日)到 7(周六)之间的整数。若 type=2,编号从 Monday = 1 开始计算;若 type=3,编号从 Monday = 0 开始计算。

语法

WEEKDAY(serial_number; type)

Number,作为一个日期值,它是一个小数,将返回工作日天数。

type指定计算方式。对于 Type =1,从周日起计算工作日(即使在丢失类型参数时它也是缺省值)。对于 Type =2,从 Monday =1 起计算工作日。对于 Type = 3,从 Monday = 0 起计算工作日。

示例

WEEKDAY(00-6-14) 的计算结果是 4。因为参数 type 处未输入数据,故程序采用的是缺省设置(即结果 1 表示星期天。2000 年 6 月 14 日是一个星期三,因此结果是 4)。

WEEKDAY(96-7-24; 2) 的计算结果是 3(因为 type=2,因此结果 1 表示星期一。96 年 7 月 24 日是一个星期三,因此计算结果是 3)。

WEEKDAY(96-7-24; 1) 的计算结果是 4(因为 type=1,因此结果 1 表示星期天。96 年 7 月 24 日是一个星期三,因此计算结果是 4)。

WEEKDAY(NOW() ) 的计算结果是与今天对应的号码。

要获得表明 A1 中的日期是否为工作日的函数,请如下使用 IF 和 WEEKDAY 函数:IF(WEEKDAY(A1;2)<6;"Business day";"Weekend")

另请参阅以下函数:

DAYNOWTODAY

TIME

ZEIT 函数能够生成一个由小时,分钟和秒组成的时间值。借助这个函数您可以将任意时间值转换为十进制的时间值。

语法

TIME(hour; minute; second)

用一个整数设置 hour

用一个整数设置 minute

用一个整数设置 second

示例

TIME(0;0;0) 的转换结果为 00:00:00

TIME(4;20;4) 的转换结果为 04:20:04

另请参阅以下函数:

HOURMINUTENOWSECOND

TIMEVALUE

TIMEVALUE 会从引号括起的文本中返回内部时间数,其中可能会显示时间输入格式。

内部数字由 Lotus Symphony 用来计算日期条目的日期系统生成,以十进制表示。

语法

TIMEVALUE(time_text)

time_text 是一个有效时间表达式,必须在引号中输入。

示例

TIMEVALUE("4PM") 返回 0.67。当应用时间格式 HH:MM:SS 时,您便会得到 6:00:00。

TIMEVALUE("24:00") 的转换结果为 1,若您采用的时间格式为 HH:MM:SS,结果则为 00:00:00。

另请参阅以下函数:

DATEVALUEHOURMINUTENOWSECONDTIME


产品反馈 | 其他文档 | 商标