• 转:MOSS 中的计算公式


    可以在列表或库的计算栏中使用下面的示例。不包含栏引用的示例可用于指定栏的默认值。
    条件公式可以使用下面的公式测试语句的条件并返回值“Yes”或“No”,或者测试“OK”或“Not OK”等替代值,或者返回代表空值的空白或短划线。

    检查一个数字是大小还是小于另一个数字

    使用 IF 函数进行此比较。
    Column1 Column2 公式 说明(可能的结果)
    15000 9000 =[Column1]>[Column2] Column1 大于 Column2 吗?(Yes)
    15000 9000 =IF([Column1]<=[Column2], "OK", "Not OK") Column1 小于或等于 Column2 吗?(Not OK)


    对栏内容进行比较之后返回一个逻辑值

    对于是逻辑值(Yes 或 No)的结果,请使用 AND、OR 和 NOT 函数。
    Column1 Column2 Column3 公式 说明(可能的结果)
    15 9 8 =AND([Column1]>[Column2], [Column1]<[Column3]) 15 大于 9 且小于 8 吗?(No)
    15 9 8 =OR([Column1]>[Column2], [Column1]<[Column3]) 15 大于 9 或小于 8 吗?(Yes)
    15 9 8 =NOT([Column1]+[Column2]=24) 15 加 9 不等于 24 吗?(No)

    对于是另一个计算的结果,或者是 Yes 或 No 以外的任何其他值的结果,请使用 IF、AND 和 OR 函数。
    Column1 Column2 Column3 公式 说明(可能的结果)
    15 9 8 =IF([Column1]=15, "OK", "Not OK") 如果 Column1 中的值等于 15,则返回“OK”。(OK)
    15 9 8 =IF(AND([Column1]>[Column2], [Column1]<[Column3]), "OK", "Not OK") 如果 15 大于 9 且小于 8,则返回“OK”。(Not OK)
    15 9 8 =IF(OR([Column1]>[Column2], [Column1]<[Column3]), "OK", "Not OK") 如果 15 大于 9 或小于 8,则返回“OK”。(OK)


    将零显示为空白或短划线

    要显示零,请执行一次简单计算。要显示空白或短划线,请使用 IF 函数。
    Column1 Column2 公式 说明(可能的结果)
    10 10 =[Column1]-[Column2] 从第一个数字中减去第二个数字 (0)
    15 9 =IF([Column1]-[Column2],"-",[Column1]-[Column2]) 值为零时返回一条短划线 (-)


    隐藏栏中的错误值

    要显示短划线、#N/A 或 NA 而不是错误值,请使用 ISERROR 函数。
    Column1 Column2 公式 说明(可能的结果)
    10 0 =[Column1]/[Column2] 产生错误 (#DIV/0)
    10 0 =IF(ISERROR([Column1]/[Column2]),"NA",[Column1]/[Column2]) 值为错误时返回 NA
    10 0 =IF(ISERROR([Column1]/[Column2]),"-",[Column1]/[Column2]) 值为错误时返回一条短划线


    返回页首

    日期和时间公式可以使用下面的公式执行基于日期和时间的计算,例如向某个日期添加若干天、若干月或若干年,计算两个日期之间的差值,以及将时间转换为小数值。

    添加日期

    要向某个日期添加若干天,请使用加法运算符 (+)。
    注释   对日期进行操作时,计算栏的返回类型必须设置为“日期和时间”。
    Column1 Column2 公式 说明(结果)
    6/9/2007 3 =[Column1]+[Column2] 向 6/9/2007 添加 3 天 (6/12/2007)
    12/10/2008 54 =[Column1]+[Column2] 向 12/10/2008 添加 54 天(2/2/2009)

    要向某个日期添加若干月,请使用 DATE、YEAR、MONTH 和 DAY 函数。
    Column1 Column2 公式 说明(结果)
    6/9/2007 3 =DATE(YEAR([Column1]),MONTH([Column1])+[Column2],DAY([Column1])) 向 6/9/2007 添加 3 个月 (9/9/2007)
    12/10/2008 25 =DATE(YEAR([Column1]),MONTH([Column1])+[Column2],DAY([Column1])) 向 12/10/2008 添加 25 个月 (1/10/2011)

    要向某个日期添加若干年,请使用 DATE、YEAR、MONTH 和 DAY 函数。
    Column1 Column2 公式 说明(结果)
    6/9/2007 3 =DATE(YEAR([Column1])+[Column2],MONTH([Column1]),DAY([Column1])) 向 6/9/2007 添加 3 年 (6/9/2010)
    12/10/2008 25 =DATE(YEAR([Column1])+[Column2],MONTH([Column1]),DAY([Column1])) 向 12/10/2008 添加 25 年 (12/10/2033)

    要向某个日期添加天数、月数和年数的组合,请使用 DATE、YEAR、MONTH 和 DAY 函数。
    Column1 公式 说明(结果)
    6/9/2007 =DATE(YEAR([Column1])+3,MONTH([Column1])+1,DAY([Column1])+5) 向 6/9/2007 添加 3 年 1 个月零 5 天 (7/14/2010)
    12/10/2008 =DATE(YEAR([Column1])+1,MONTH([Column1])+7,DAY([Column1])+5) 向 12/10/2008 添加 1 年 7 个月零 5 天 (7/15/2010)


    计算两个日期之间的差值

    请使用 DATEDIF 函数执行此计算。
    Column1 Column2 公式 说明(结果)
    01-Jan-1995 15-Jun-1999 =DATEDIF([Column1], [Column2],"d") 返回两个日期之间的天数 (1626)
    01-Jan-1995 15-Jun-1999 =DATEDIF([Column1], [Column2],"ym") 返回两个日期之间的月数,忽略年 (5)
    01-Jan-1995 15-Jun-1999 =DATEDIF([Column1], [Column2],"yd") 返回两个日期之间的天数,忽略年 (165)


    计算两个时间之间的差值

    要使用标准时间格式(时:分:秒)显示结果,请使用减法运算符 (-) 和 TEXT 函数。要使此方法正常工作,小时不得超过 24,且分和秒不得超过 60。
    Column1 Column2 公式 说明(结果)
    06/09/2007 10:35 AM 06/09/2007 3:30 PM =TEXT([Column2]-[Column1],"h") 两个时间之间的小时数 (4)
    06/09/2007 10:35 AM 06/09/2007 3:30 PM =TEXT([Column2]-[Column1],"h:mm") 两个时间之间的小时数和分钟数 (4:55)
    06/09/2007 10:35 AM 06/09/2007 3:30 PM =TEXT([Column2]-[Column1],"h:mm:ss") 两个时间之间的小时数、分钟数和秒数 (4:55:00)

    要用基于一个时间单位的总计值显示结果,请使用 INT 函数或 HOUR、MINUTE 或 SECOND 函数。
    Column1 Column2 公式 说明(结果)
    06/09/2007 10:35 AM 06/10/2007 3:30 PM =INT(([Column2]-[Column1])*24) 两个时间之间的总小时数 (28)
    06/09/2007 10:35 AM 06/10/2007 3:30 PM =INT(([Column2]-[Column1])*1440) 两个时间之间的总分钟数 (1735)
    06/09/2007 10:35 AM 06/10/2007 3:30 PM =INT(([Column2]-[Column1])*86400) 两个时间之间的总秒数 (104100)
    06/09/2007 10:35 AM 06/10/2007 3:30 PM =HOUR([Column2]-[Column1]) 当差值不超过 24 时,两个时间之间的小时数 (4)
    06/09/2007 10:35 AM 06/10/2007 3:30 PM =MINUTE([Column2]-[Column1]) 当差值不超过 60 时,两个时间之间的分钟数 (55)
    06/09/2007 10:35 AM 06/10/2007 3:30 PM =SECOND([Column2]-[Column1]) 当差值不超过 60 时,两个时间之间的秒数 (0)


    转换时间

    要将小时从标准时间格式转换为小数,请使用 INT 函数。
    Column1 公式 说明(结果)
    10:35 AM =([Column1]-INT([Column1]))*24 自 12:00 AM 以后的小时数 (10.583333)
    12:15 PM =([Column1]-INT([Column1]))*24 自 12:00 AM 以后的小时数 (12.25)

    要将小时从小数转换为标准时间格式(时:分:秒),请使用除法运算符和 TEXT 函数。
    Column1 公式 说明(结果)
    23:58 =TEXT(Column1/24, "hh:mm:ss") 自 12:00 AM 以后的时、分和秒 (00:59:55)
    2:06 =TEXT(Column1/24, "h:mm") 自 12:00 AM 以后的时和分 (0:05)


    插入儒略历日期

    儒略历日期指的是一种日期格式,是当前年份和从当年年初算起的天数的组合。例如,2007 年 1 月 1 日表示为 2007001,而 2007 年 12 月 31 日则表示为 2007365。此格式并不基于儒略历。
    要将日期转换为儒略历日期,请使用 TEXT 和 DATEVALUE 函数。
    Column1 公式 说明(结果)
    6/23/2007 =TEXT([Column1],"yy")&TEXT(([Column1]-DATEVALUE("1/1/"& TEXT([Column1],"yy"))+1),"000") 采用儒略历格式的日期,年份用两位数字表示 (07174)
    6/23/2007 =TEXT([Column1],"yyyy")&TEXT(([Column1]-DATEVALUE("1/1/"&TEXT([Column1],"yy"))+1),"000") 采用儒略历格式的日期,年份用四位数字表示 (2007174)

    要将日期转换为在天文学中使用的儒略历日期,请使用常量 2415018.50。如果使用 1900 日期系统,则此公式只对 1901 年 3 月 1 日之后的日期起作用。
    Column1 公式 说明(结果)
    6/23/2007 =[Column1]+2415018.50 在天文学中使用的儒略历格式的日期 (2454274.50)


    将日期显示为一周中的某一天

    要将日期转换为表示一周中某一天的文本,请使用 TEXT 和 WEEKDAY 函数。
    Column1 公式 说明(可能的结果)
    19-Feb-2007 =TEXT(WEEKDAY([Column1]), "dddd") 计算该日期在一周中所对应的天数,并返回这一天的全名 (Monday)
    3-Jan-2008 =TEXT(WEEKDAY([Column1]), "ddd") 计算该日期在一周中所对应的天数,并返回这一天的缩写名称 (Thu)


    返回页首

    数学公式可以使用下面的公式执行各种数学计算,如数字的加、减、乘、除,计算一组数字的平均值或中值,对数字进行四舍五入以及对数值进行计数。

    数字相加

    要将一行中两栏或更多个栏中的数字相加,请使用加法运算符 (+) 或 SUM 函数。
    Column1 Column2 Column3 公式 说明(结果)
    6 5 4 =[Column1]+[Column2]+[Column3] 将前三个栏中的值相加 (15)
    6 5 4 =SUM([Column1],[Column2],[Column3]) 将前三个栏中的值相加 (15)
    6 5 4 =SUM(IF([Column1]>[Column2], [Column1]-[Column2], 10), [Column3]) 如果 Column1 大于 Column2,则将它们的差值与 Column3 相加。否则将 10 与 Column3 相加 (5)


    数字相减

    要将一行中两栏或更多个栏中的数字相减,请使用减法运算符 (-) 或带负数的 SUM 函数。
    Column1 Column2 Column3 公式 说明(结果)
    15000 9000 -8000 =[Column1]-[Column2] 从 15000 中减去 9000 (6000)
    15000 9000 -8000 =SUM([Column1], [Column2], [Column3]) 将前三个栏中的数字相加,包括负值 (16000)


    将两个数字之间的差值计算为百分比

    请使用减法运算符 (-)、除法运算符 (/) 和 ABS 函数。
    Column1 Column2 公式 说明(结果)
    2342 2500 =([Column2]-[Column1])/ABS([Column1]) 百分比变动(6.75% 或 0.06746)


    数字相乘

    要将一行中两栏或更多个栏中的数字相乘,请使用乘法运算符 (*) 或 PRODUCT 函数。
    Column1 Column2 公式 说明(结果)
    5 2 =[Column1]*[Column2] 将前两个栏中的数字相乘 (10)
    5 2 =PRODUCT([Column1], [Column2]) 将前两个栏中的数字相乘 (10)
    5 2 =PRODUCT([Column1],[Column2],2) 将前两个栏中的数字及数字 2 相乘 (20)


    数字相除

    要将一行中两栏或更多个栏中的数字相除,请使用除法运算符 (/)。
    Column1 Column2 公式 说明(结果)
    15000 12 =[Column1]/[Column2] 用 15000 除以 12 (1250)
    15000 12 =([Column1]+10000)/[Column2] 将 15000 与 10000 相加,然后用和除以 12 (2083)


    计算一组数字的平均值

    平均值也称为平均数。要计算一行中两栏或更多个栏中的数字的平均值,请使用 AVERAGE 函数。
    Column1 Column2 Column3 公式 说明(结果)
    6 5 4 =AVERAGE([Column1], [Column2],[Column3]) 前三个栏中的数字的平均值 (5)
    6 5 4 =AVERAGE(IF([Column1]>[Column2], [Column1]-[Column2], 10), [Column3]) 如果 Column1 大于 Column2,则计算其差值与 Column3 的平均值。否则计算数值 10 与 Column3 的平均值 (2.5)


    计算一组数字的中值

    中值是一系列有序数字的中间值。请使用 MEDIAN 函数计算一组数字的中值。
    A B C D E F 公式 说明(结果)
    10 7 9 27 0 4 =MEDIAN(A, B, C, D, E, F) 前六个栏中的数字的中值 (8)


    计算某个范围中的最小数或最大数

    要计算一行中两栏或更多个栏中的数字中的最小数或最大数,请使用 MIN 和 MAX 函数。
    Column1 Column2 Column3 公式 说明(结果)
    10 7 9 =MIN([Column1], [Column2], [Column3]) 最小数 (7)
    10 7 9 =MAX([Column1], [Column2], [Column3]) 最大数 (10)


    对数值进行计数

    要对数值进行计数,请使用 COUNT 函数。
    Column1 Column2 Column3 公式 说明(结果)
    苹果树 12/12/2007 =COUNT([Column1], [Column2], [Column3]) 计算包含数值的栏数。排除日期和时间、文本以及空值 (0)
    $12 #DIV/0! 1.01 =COUNT([Column1], [Column2], [Column3]) 计算包含数值的栏数,但排除错误和逻辑值 (2)


    将一个数字增加或减少一个百分点

    请使用百分数 (%) 运算符执行此计算。
    Column1 Column2 公式 说明(结果)
    23 3% =[Column1]*(1+5%) 将 Column1 中的数字增加 5% (24.15)
    23 3% =[Column1]*(1+[Column2]) 将 Column1 中的数字增加 Column2 中的百分数值:3% (23.69)
    23 3% =[Column1]*(1-[Column2]) 将 Column1 中的数字减少 Column2 中的百分数值:3% (22.31)


    对一个数字进行乘幂运算

    使用乘幂运算符 (^) 或 POWER 函数执行此计算。
    Column1 Column2 公式 说明(结果)
    5 2 =[Column1]^[Column2] 计算 5 的平方 (25)
    5 3 =POWER([Column1], [Column2]) 计算 5 的立方 (125)


    对数字进行四舍五入

    要对数字向上舍入,请使用 ROUNDUP、ODD 或 EVEN 函数。
    Column1 公式 说明(结果)
    20.3 =ROUNDUP([Column1],0) 将 20.3 向上舍入为最接近的整数 (21)
    -5.9 =ROUNDUP([Column1],0) 将 -5.9 向上舍入为最接近的整数 (-5)
    12.5493 =ROUNDUP([Column1],2) 将 12.5493 向上舍入为最接近的百分位,即两个小数位数 (12.55)
    20.3 =EVEN([Column1]) 将 20.3 向上舍入为最接近的偶数 (22)
    20.3 =ODD([Column1]) 将 20.3 向上舍入为最接近的奇数 (21)

    要对数字向下舍入,请使用 ROUNDDOWN 函数。
    Column1 公式 说明(结果)
    20.3 =ROUNDDOWN([Column1],0) 将 20.3 向下舍入为最接近的整数 (20)
    -5.9 =ROUNDDOWN([Column1],0) 将 -5.9 向下舍入为最接近的整数 (-6)
    12.5493 =ROUNDDOWN([Column1],2) 将 12.5493 向下舍入为最接近的百分位,即两个小数位数 (12.54)

    要将数字四舍五入为最接近的数字或分数,请使用 ROUND 函数。
    Column1 公式 说明(结果)
    20.3 =ROUND([Column1],0) 将 20.3 向下舍入,因为其分数部分小于 .5 (20)
    5.9 =ROUND([Column1],0) 将 5.9 向上舍入,因为其分数部分大于 .5 (6)
    -5.9 =ROUND([Column1],0) 将 -5.9 向下舍入,因为其分数部分小于 -.5 (-6)
    1.25 =ROUND([Column1], 1) 将数字四舍五入到最接近的十分位(一个小数位数)。因为要进行四舍五入的部分为 0.05 或更大,该数字被向上舍入(结果:1.3)
    30.452 =ROUND([Column1], 2) 将数字四舍五入到最接近的百分位(两个小数位数)。因为要四舍五入的部分 (0.002) 小于 0.005,该数字被向下舍入(结果:30.45)

    要将数字四舍五入到 0 以上的有效位数,请使用 ROUND、ROUNDUP、ROUNDDOWN、INT 和 LEN 函数。
    Column1 公式 说明(结果)
    5492820 =ROUND([Column1],3-LEN(INT([Column1]))) 将数字四舍五入到 3 个有效位数 (5490000)
    22230 =ROUNDDOWN([Column1],3-LEN(INT([Column1]))) 将数字向下舍入到 3 个有效位数 (22200)
    5492820 =ROUNDUP([Column1], 5-LEN(INT([Column1]))) 将数字向上舍入到 5 个有效位数 (5492900)


    返回页首

    文本公式可以使用下面的公式处理文本,例如组合或连接多个栏中的值,比较一些栏中的内容,删除字符或空格以及重复字符。

    更改文本的大小写

    要更改文本的大小写,请使用 UPPER、LOWER 或 PROPER 函数。
    Column1 公式 说明(结果)
    nina Vietzen =UPPER([Column1]) 将文本更改为大写形式 (NINA VIETZEN)
    nina Vietzen =LOWER([Column1]) 将文本更改为小写形式 (nina vietzen)
    nina Vietzen =PROPER([Column1]) 将文本更改为词首大写形式 (Nina Vietzen)


    将名字和姓氏进行组合

    要将名字和姓氏进行组合,请使用“与”运算符 (&) 或 CONCATENATE 函数。
    Column1 Column2 公式 说明(结果)
    Carlos Carvallo =[Column1]&[Column2] 对两个字符串进行组合 (CarlosCarvallo)
    Carlos Carvallo =[Column1]&" "&[Column2] 对两个字符串进行组合,并用空格分隔 (Carlos Carvallo)
    Carlos Carvallo =[Column2]&", "&[Column1] 对两个字符串进行组合,并用逗号和空格分隔 (Carvallo, Carlos)
    Carlos Carvallo =CONCATENATE([Column2], ",", [Column1]) 对两个字符串进行组合,并用逗号分隔 (Carvallo,Carlos)


    将不同列中的文本和数字进行组合

    要将文本和数字进行组合,请使用 CONCATENATE 函数、“与”运算符 (&) 或 TEXT 函数和“与”运算符。
    Column1 Column2 公式 说明(结果)
    Yang 28 =[Column1]&" sold "&[Column2]&" units." 将上面的内容组合成一个短语 (Yang sold 28 units.)
    Dubois 40% =[Column1]&" sold "&TEXT([Column2],"0%")&" of the total sales." 将上面的内容组合成一个短语 (Dubois sold 40% of the total sales.)
    注释   TEXT 函数追加 Column2 的带格式的值而不是基础值 .4。
    Yang 28 =CONCATENATE([Column1]," sold ",[Column2]," units.") 将上面的内容组合成一个短语 (Yang sold 28 units.)


    将文本与日期或时间进行组合

    要将文本与日期或时间进行组合,请使用 TEXT 函数和“与”运算符 (&)。
    Column1 Column2 公式 说明(结果)
    Billing Date 5-Jun-2007 ="Statement date: "&TEXT([Column2], "d-mmm-yyyy") 将文本与日期进行组合 (Statement date: 5-Jun-2007)
    Billing Date 5-Jun-2007 =[Column1]&" "&TEXT([Column2], "mmm-dd-yyyy") 将不同栏中的文本与日期组合为一栏 (Billing Date Jun-05-2007)


    比较栏中的内容

    要将一栏同另一栏或值列表进行比较,请使用 EXACT 和 OR 函数。
    Column1 Column2 公式 说明(可能的结果)
    BD122 BD123 =EXACT([Column1],[Column2]) 对前两栏中的内容进行比较 (No)
    BD122 BD123 =EXACT([Column1], "BD122") 将 Column1 中的内容与字符串“BD122”进行比较 (Yes)


    检查栏值或栏值的一部分是否与特定文本匹配

    要检查栏值或栏值的一部分是否与特定文本匹配,请使用 IF、FIND、SEARCH 和 ISNUMBER 函数。
    Column1 公式 说明(可能的结果)
    Vietzen =IF([Column1]="Vietzen", "OK", "Not OK") 检查确定 Column1 是否为 Vietzen (OK)
    Vietzen =IF(ISNUMBER(FIND("v",[Column1])), "OK", "Not OK") 检查确定 Column1 中是否包含字母 v (OK)
    BD123 =ISNUMBER(FIND("BD",[Column1])) 检查确定 Column1 中是否包含 BD (Yes)


    计算非空栏的数目

    要计算非空栏的数目,请使用 COUNTA 函数。
    Column1 Column2 Column3 公式 说明(结果)
    销售额 19 =COUNTA([Column1], [Column2]) 计算非空栏的数目 (2)
    销售额 19 =COUNTA([Column1], [Column2], [Column3]) 计算非空栏的数目 (2)


    删除文本中的字符

    要删除文本中的字符,请使用 LEN、LEFT 和 RIGHT 函数。
    Column1 公式 说明(结果)
    Vitamin A =LEFT([Column1],LEN([Column1])-2) 从左边开始返回 7 (9-2) 个字符 (Vitamin)
    Vitamin B1 =RIGHT([Column1], LEN([Column1])-8) 从右边开始返回 2 (10-8) 个字符 (B1)


    删除栏开头和结尾处的空格

    要删除栏中的空格,请使用 TRIM 函数。
    Column1 公式 说明(结果)
        Hello there! =TRIM([Column1]) 删除开头和结尾处的空格 (Hello there!)


    重复栏中的字符

    要重复栏中的字符,请使用 REPT 函数。
    公式 说明(结果)
    =REPT(".",3) 将句号重复 3 次 (...)
    =REPT("-",10) 将短划线重复 10 次 (----------)


    出处:http://office.microsoft.com/zh-cn/sharepoint-foundation-help/HA010379915.aspx
    本文转自ynyh: http://itkm.cn/forum.php?mod=viewthread&tid=3962
  • 相关阅读:
    「CF722E Research Rover」
    「Luogu P4062 [Code+#1]Yazid 的新生舞会」
    【cf比赛记录】Codeforces Round #613 (Div. 2)
    【cf比赛记录】Educational Codeforces Round 78 (Rated for Div. 2)
    【cf补题记录】Codeforces Round #608 (Div. 2)
    【cf补题记录】Codeforces Round #607 (Div. 2)
    【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)
    【cf比赛记录】Codeforces Round #605 (Div. 3)
    【Codeforces】B. Div Times Mod
    【牛客练习赛53】A-超越学姐爱字符串
  • 原文地址:https://www.cnblogs.com/qixue/p/2045682.html
Copyright © 2020-2023  润新知