设为首页 收藏本站
查看: 745|回复: 0

[经验分享] SharePoint 2010 验证栏的使用说明

[复制链接]

尚未签到

发表于 2015-9-27 12:30:15 | 显示全部楼层 |阅读模式
如何给栏添加验证公式
  创建栏界面第二栏就可以给该栏添加验证公式:
DSC0000.png
  
  

几个常用的验证公式(函数)

Len()
  说明:返回字段值的长度
  用法:
DSC0001.png
  验证是“填写周期”这个字段的值长度是16的话返回“是”,验证通过,否则返回“否”,验证不通过,显示错误提示。
  

MID()
  说明:取字段值字符串的某一个字符
  用法:
DSC0002.png
  验证“填写周期”这个字段值的第一个字符是不是为“2”,验证通过,否则返回“否”,验证不通过,显示错误提示。
  

code()
  说明:取字符的ASCII值
  用法:
DSC0003.png
  上段公式,可以=((A+B)=2),A的值为(CODE(MID(填写周期,15,1))>47),B的值为(CODE(MID(填写周期,15,1))<58),
  (CODE(MID(填写周期,15,1))>47) 解释为:先用MID()函数取“填写周期”字段值字符串的第15个字符,再用CODE()函数取上一步得到的字符的ASCII值,如果大于47则返回1,否则 返回 0. 通过MID()和CODE()的配合,可以把字符转成ASCII码,这样可以进行大小比较,这48~57是数字0~9的ASCII码。
  综合后,上段公式用于验证该字段值第15位必需是一个数字。
  
  更多公式可以查看微软官方网站:http://office.microsoft.com/en-us/sharepoint-foundation-help/CH010372694.aspx

逻辑条件

And 运算
  很遗憾这个公式表达式中我们不能写and 或者 or的表达式,但是这个不是问题,其实上面的示例已经给了一个and条件的例子。
  如果我们要用and逻辑表达式,我们可以通过“+”运算,判断最后的值即可。
  例如:
  判断一个电话号码:



=(LEN([Phone])=12)
+(CODE(MID([Phone],1,1))>47)
+(CODE(MID([Phone],1,1))<58)
+(CODE(MID([Phone],2,1))>47)
+(CODE(MID([Phone],2,1))<58)
+(CODE(MID([Phone],3,1))>47)
+(CODE(MID([Phone],3,1))<58)
+(MID([Phone],4,1)="-")
+(CODE(MID([Phone],5,1))>47)
+(CODE(MID([Phone],5,1))<58)
+(CODE(MID([Phone],6,1))>47)
+(CODE(MID([Phone],6,1))<58)
+(CODE(MID([Phone],7,1))>47)
+(CODE(MID([Phone],7,1))<58)
+(MID([Phone],8,1)="-")
+(CODE(MID([Phone],9,1))>47)
+(CODE(MID([Phone],9,1))<58)
+(CODE(MID([Phone],10,1))>47)
+(CODE(MID([Phone],10,1))<58)
+(CODE(MID([Phone],11,1))>47)
+(CODE(MID([Phone],11,1))<58)
+(CODE(MID([Phone],12,1))>47)
+(CODE(MID([Phone],12,1))<58)
=23
  


OR 运算
  比如想验证“血型”字段值只能是“A”、“B”或者“O”时,可以用下面的方法:



=(LEN([BLOODTYPE])=1)
+(MID([Phone],1,1)="A")
+(MID([Phone],1,1)="B")
+(MID([Phone],1,1)="O")
=2
  另外可能还会碰到其它OR逻辑的可能,比如,我们的MOSS平台上有一个列表记录员工的周月报,其中“填写周期”一栏根据填写目的不同,要求使用两种格式,一种是周报格式要求用YYYY.MM.DD-MM.DD格式,另外一种是月报格式,要求使用YYYY.MM格式。以方便最终做统计视图。
  我们可以用"IF"逻辑运算进行处理:



=IF(
  LEN(填写周期)=16
    ,( (MID(填写周期,1,1)="2")
      +(MID(填写周期,2,1)="0")
      +(MID(填写周期,3,1)="1")
      +(MID(填写周期,5,1)=".")
      +(MID(填写周期,8,1)=".")  
      +(MID(填写周期,11,1)="-")
      +(MID(填写周期,14,1)=".")
      =7)
    ,(IF(
      LEN(填写周期)=7
        ,((MID(填写周期,1,1)="2")
         +(MID(填写周期,2,1)="0")
         +(MID(填写周期,3,1)="1")
         +(MID(填写周期,5,1)=".")
        =4)
        ,FALSE
    ))
)
  这里,我们只验证了字符长度和年度前三位,当然也可以做到完全验证,如下:



=OR(
  (
    IF(ISERROR(
        ((LEN([填写周期])=16)
        +(CODE(MID([填写周期],1,1))>47)
        +(CODE(MID([填写周期],1,1))<58)
        +(CODE(MID([填写周期],2,1))>47)
        +(CODE(MID([填写周期],2,1))<58)
        +(CODE(MID([填写周期],3,1))>47)
        +(CODE(MID([填写周期],3,1))<58)
        +(CODE(MID([填写周期],4,1))>47)
        +(CODE(MID([填写周期],4,1))<58)
        +(MID([填写周期],5,1)=".")
        +(CODE(MID([填写周期],6,1))>47)
        +(CODE(MID([填写周期],6,1))<58)
        +(CODE(MID([填写周期],7,1))>47)
        +(CODE(MID([填写周期],7,1))<58)
        +(MID([填写周期],8,1)=".")
        +(CODE(MID([填写周期],9,1))>47)
        +(CODE(MID([填写周期],9,1))<58)
        +(CODE(MID([填写周期],10,1))>47)
        +(CODE(MID([填写周期],10,1))<58)
        +(MID([填写周期],11,1)="-")
        +(CODE(MID([填写周期],12,1))>47)
        +(CODE(MID([填写周期],12,1))<58)
        +(CODE(MID([填写周期],13,1))>47)
        +(CODE(MID([填写周期],13,1))<58)
        +(MID([填写周期],14,1)=".")
        +(CODE(MID([填写周期],15,1))>47)
        +(CODE(MID([填写周期],15,1))<58)
        +(CODE(MID([填写周期],16,1))>47)
        +(CODE(MID([填写周期],16,1))<58)
        =29)
      )
      ,FALSE
      ,IF(
        ((LEN([填写周期])=16)
        +(CODE(MID([填写周期],1,1))>47)
        +(CODE(MID([填写周期],1,1))<58)
        +(CODE(MID([填写周期],2,1))>47)
        +(CODE(MID([填写周期],2,1))<58)
        +(CODE(MID([填写周期],3,1))>47)
        +(CODE(MID([填写周期],3,1))<58)
        +(CODE(MID([填写周期],4,1))>47)
        +(CODE(MID([填写周期],4,1))<58)
        +(MID([填写周期],5,1)=".")
        +(CODE(MID([填写周期],6,1))>47)
        +(CODE(MID([填写周期],6,1))<58)
        +(CODE(MID([填写周期],7,1))>47)
        +(CODE(MID([填写周期],7,1))<58)
        +(MID([填写周期],8,1)=".")
        +(CODE(MID([填写周期],9,1))>47)
        +(CODE(MID([填写周期],9,1))<58)
        +(CODE(MID([填写周期],10,1))>47)
        +(CODE(MID([填写周期],10,1))<58)
        +(MID([填写周期],11,1)="-")
        +(CODE(MID([填写周期],12,1))>47)
        +(CODE(MID([填写周期],12,1))<58)
        +(CODE(MID([填写周期],13,1))>47)
        +(CODE(MID([填写周期],13,1))<58)
        +(MID([填写周期],14,1)=".")
        +(CODE(MID([填写周期],15,1))>47)
        +(CODE(MID([填写周期],15,1))<58)
        +(CODE(MID([填写周期],16,1))>47)
        +(CODE(MID([填写周期],16,1))<58)
        =29)
        ,TRUE
        ,FALSE
       )
      ))
    ,(IF(ISERROR(
        ((LEN([填写周期])=7)
        +(CODE(MID([填写周期],1,1))>47)
        +(CODE(MID([填写周期],1,1))<58)
        +(CODE(MID([填写周期],2,1))>47)
        +(CODE(MID([填写周期],2,1))<58)
        +(CODE(MID([填写周期],3,1))>47)
        +(CODE(MID([填写周期],3,1))<58)
        +(CODE(MID([填写周期],4,1))>47)
        +(CODE(MID([填写周期],4,1))<58)
        +(MID([填写周期],5,1)=".")
        +(CODE(MID([填写周期],6,1))>47)
        +(CODE(MID([填写周期],6,1))<58)
        +(CODE(MID([填写周期],7,1))>47)
        +(CODE(MID([填写周期],7,1))<58)
        =14)
      )
      ,FALSE
      ,IF(
        ((LEN([填写周期])=7)
        +(CODE(MID([填写周期],1,1))>47)
        +(CODE(MID([填写周期],1,1))<58)
        +(CODE(MID([填写周期],2,1))>47)
        +(CODE(MID([填写周期],2,1))<58)
        +(CODE(MID([填写周期],3,1))>47)
        +(CODE(MID([填写周期],3,1))<58)
        +(CODE(MID([填写周期],4,1))>47)
        +(CODE(MID([填写周期],4,1))<58)
        +(MID([填写周期],5,1)=".")
        +(CODE(MID([填写周期],6,1))>47)
        +(CODE(MID([填写周期],6,1))<58)
        +(CODE(MID([填写周期],7,1))>47)
        +(CODE(MID([填写周期],7,1))<58)
        =14)
         ,TRUE
         ,FALSE
    ))
  )
)
  但是有个不幸的消息,SharePoint的验证填只支持1024个字符,所以,我用了第一种。

其它
  

附一
  一个老外写的用于验证Email地址的公式:



=(LEN(LEFT([Email],FIND("@",[Email])-1))>0)
+(LEN(RIGHT([Email],LEN([Email])-FIND(".",[Email],FIND("@",[Email]))))>0)
+(LEN(MID([Email],FIND("@",[Email])+1,FIND(".",[Email],FIND("@",[Email]))-FIND("@",[Email])-1))>0)
+(ISERROR(FIND(" ",[Email]))=TRUE)
=4

附二

  微软网站上的相关帮助,方便以后查找,直接附在这里了。

公式概述
  公式是对列表或库中的值进行计算的等式。公式以等号 (=) 开头。例如,在下面的公式中,结果等于 2 乘以 3 再加 5。
  =5+2*3
  可以在计算列中使用公式,也可以使用公式计算某一列的默认值。公式中可以包含函数、列引用、运算符和常量,如下例所示。
  =PI()*[Result]^2



元素说明

函数
PI() 函数返回圆周率 pi 的值 3.141592654。


引用(或列名)
[Result] 表示当前行的“Result”列中的值。


常量
直接输入到公式中的数字或文本值,如 2。


运算符
*(星号)运算符执行乘法运算,^(插入符号)运算符表示将数字乘幂。
  公式可以使用上表中的一个或多个元素。下面是一些按照复杂程度排序的公式的示例。

简单公式(如 =128+345)
  下列公式包含常量和运算符。



示例说明

=128+345
将 128 与 345 相加


=5^2
计算 5 的平方

包含列引用的公式(如 =[REVENUE] >[COST])
  下列公式引用同一个列表或库中的其他列。



示例说明

=[Revenue]
使用“Revenue”列中的值。


=[Revenue]*10/100
“Revenue”列中的值的 10%。


=[Revenue] > [Cost]
如果“Revenue”列中的值大于“Cost”列中的值,则返回“Yes”。

调用函数的公式(如 =AVERAGE(1, 2, 3, 4, 5))
  下列公式调用内置函数。



示例说明

=AVERAGE(1, 2, 3, 4, 5)
返回一组数值的平均值。


=MAX([Q1], [Q2], [Q3], [Q4])
返回一组数值中的最大值。


=IF([Cost]>[Revenue], "Not OK", "OK")
如果成本大于收入,则返回“Not OK”。否则,返回“OK”。


=DAY("15-Apr-2008")
返回日期中的天。此公式返回数字 15。

含有嵌套函数的公式(如 =SUM(IF([A]>[B], [A]-[B], 10), [C]))
  下列公式将一个或多个函数指定为函数参数。



示例说明

=SUM(IF([A]>[B], [A]-[B], 10), [C])
  IF 函数返回列 A 与列 B 中值的差值或 10。
  SUM 函数将 IF 函数的返回值与列 C 中的值相加。




=DEGREES(PI())
  PI 函数返回数字 3.141592654。
  DEGREES 函数将弧度值转换为角度值。此公式返回数值 180。




=ISNUMBER(FIND("BD",[Column1]))
  FIND 函数在 Column1 中搜索字符串 BD,并返回该字符串的起始位置。如果未找到该字符串,则返回一个错误值。
  如果 FIND 函数返回一个数值,则 ISNUMBER 函数返回“Yes”。否则,它返回“No”。


  

函数概述
  函数是预定义的公式,这些公式使用叫做参数的特定值按特定顺序或结构进行计算。函数可用于执行简单或复杂的计算。例如,下面的 ROUND 函数实例可将“Cost”列的数字四舍五入为小数点后两位。
  =ROUND([Cost], 2)
  学习函数和公式时,下列词汇很有帮助:
  结构     函数的结构以等号 (=) 开始,后跟函数名、左括号、以逗号分隔的函数参数,以右括号结束。
  函数名称     列表或库支持的函数的名称。每个函数都引用特定个数的参数,并对这些参数进行处理,然后返回一个值。
  参数     参数可以是数字、文本、逻辑值(如 True 或 False)或列引用。指定的参数必须是该参数的有效值。参数也可以是常量、公式或其他函数。
  在某些情况下,可能需要将一个函数作为另一个函数的一个参数使用。例如,下面的公式使用了嵌套的 AVERAGE 函数,将结果与两列的值之和进行比较。
  =AVERAGE([Cost1], SUM([Cost2]+[Discount]))
  有效返回值     当函数作为参数使用时,其返回值的类型必须与参数所用值的类型相同。例如,如果参数使用“Yes”或“No”,则嵌套函数必须返回“Yes”或“No”;否则,列表或库将显示 #VALUE! 错误值。
  嵌套层数限制     一个公式最多可以含有八层嵌套函数。当函数 B 作为函数 A 中的参数使用时,函数 B 是第二层函数。例如,在上面的示例中,SUM 函数是第二层函数,因为它是 AVERAGE 函数的参数。在 SUM 函数中嵌套的函数是第三层函数,依此类推。
   注释


  • 列表和库不支持 RAND 和 NOW 函数。
  • 计算列中不支持 TODAY 和 ME 函数,但在某一列的默认值设置中支持这两个函数
  

在公式中使用列引用
  引用标识当前行中的一个单元格,并向列表或库指示在何处搜索要在公式中使用的值或数据。例如,[Cost] 引用当前行中“Cost”列中的值。如果当前行中“Cost”列的值为 100,则 =[Cost]*3 返回 300。
  通过引用,可以在一个或多个公式中使用列表或库的不同列中所包含的数据。可以在公式中引用下列数据类型的列:单行文本、数字、货币、日期和时间、选择、是/否以及计算列。
  可以使用列的显示名称在公式中引用该列。如果名称中包含空格或特殊字符,则必须将名称括在方括号 ([ ]) 中。引用不区分大小写。例如,可以在公式中使用 [Unit Price] 或 [unit price] 来引用“Unit Price”这一列。
   注释


  • 不能引用当前行以外的行中的值。
  • 不能引用其他列表或库中的值。
  • 不能通过行 ID 引用新插入的行。因为执行计算时该 ID 尚不存在。
  • 不能在为某列创建默认值的公式中引用其他列。
  

在公式中使用常量
  常量是不用计算的值。例如,日期 10/9/2008、数字 210 以及文本“季度收入”都是常量。常量可以是下列数据类型:


  • String(示例:=[Last Name] = "Smith")

String 常量括在引号中,最多可以包含 255 个字符。


  • Number(示例:=[Cost] >= 29.99)

Numeric 常量可以包含小数位数,可以是正数或负数。


  • Date(示例:=[Date] > DATE(2007,7,1))

Date 常量要求使用 DATE(year,month,day) 函数。


  • Boolean(示例:=IF([Cost]>[Revenue], "Loss", "No Loss"))

“Yes”和“No”是 Boolean 常量。可以在条件表达中使用 Boolean 常量。在上面的示例中,如果“Cost”大于“Revenue”,则 IF 函数返回“Yes”,该公式返回字符串“Loss”。如果“Cost”等于或小于“Revenue”,则该函数返回“No”,并且该公式返回字符串“No Loss”。


在公式中使用运算符
  运算符指定要对公式中的元素执行的运算的类型。列表和库支持三种不同类型的运算符:算术运算符、比较运算符和文本运算符。

算术运算符
  可使用下列算术运算符来执行加法、减法或乘法等基本数学运算,组合数字或者产生数字结果。



算术运算符含义(示例)

+(加号)
加法运算 (3+3)


–(减号)
减法运算 (3–1)
负数 (–1)


*(星号)
乘法运算 (3*3)


/(正斜杠)
除法运算 (3/3)


%(百分号)
百分比 (20%)


^(插入符号)
乘幂运算 (3^2)

比较运算符
  可以使用下列运算符对两个值进行比较。使用这些运算符对两个值进行比较时,结果是一个逻辑值“Yes”或“No”。



比较运算符含义(示例)

=(等号)
等于 (A=B)


>(大于号)
大于 (A>B)


<(小于号)
小于 (A<B)


>=(大于等于号)
大于或等于 (A>=B)


<=(小于等于号)
小于或等于 (A<=B)


<>(不等号)
不等于 (A<>B)

文本运算符
  使用与号 (&) 联接或连接一个或更多个文本字符串以产生一串文本。



文本运算符含义(示例)

&(与号)
将两个值连接或联接起来产生一个连续的文本值 ("North"&"wind")

列表或库执行公式中的运算的顺序
  公式按照特定的顺序计算值。公式可以使用等号(=)开头。等号后面紧跟着要计算的元素(操作数),它们之间用运算符分隔。根据公式中每个运算符的特定顺序,列表和库从左向右计算公式。

运算符优先级
  如果一个公式中用到多个运算符,列表和库将按下表所示的顺序进行运算。如果公式中包含具有相同优先级的运算符,例如,公式中同时包含乘法运算符和除法运算符,则列表和库将从左到右计算运算符。  



运算符说明


负号(例如 –1)


%
百分比


^
乘幂


* 和 /
乘和除


+ 和 –
加和减


&
连接(将两个文本串连接在一起)


= < > <= >= <>
比较

使用括号
  要更改求值顺序,请将公式中要先计算的部分用括号括起来。例如,下面公式的结果是 11,因为列表或库先进行乘法运算后进行加法运算。该公式将 2 与 3 相乘,然后再加上 5,所得的数值就是最终结果。
  =5+2*3
  与此相反,如果使用括号改变语法,则列表或库先将 5 与 2 相加,再用所得的结果乘以 3,得到的最终结果为 21。
  =(5+2)*3
  在下面的示例中,公式中第一部分周围的括号强制列表或库先计算 [Cost]+25,然后用结果除以列 EC1 和 EC2 中的值之和。
  =([Cost]+25)/SUM([EC1]+[EC2])
  


常见公式示例
  

条件公式
  
  可以使用下面的公式测试语句的条件并返回值“Yes”或“No”,或者测试“OK”或“Not OK”等替代值,或者返回代表空值的空白或短划线。
  


  使用 IF 函数进行此比较。



COLUMN1COLUMN2公式说明(可能的结果)

15000
9000
=[Column1]>[Column2]
Column1 大于 Column2 吗?(Yes)


15000
9000
=IF([Column1]<=[Column2], "OK", "Not OK")
Column1 小于或等于 Column2 吗?(Not OK)
  


  对于是逻辑值(Yes 或 No)的结果,请使用 AND、OR 和 NOT 函数。



COLUMN1COLUMN2COLUMN3公式说明(可能的结果)

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 函数。



COLUMN1COLUMN2COLUMN3公式说明(可能的结果)

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 函数。



COLUMN1COLUMN2公式说明(可能的结果)

10
10
=[Column1]-[Column2]
从第一个数字中减去第二个数字 (0)


15
9
=IF([Column1]-[Column2],"-",[Column1]-[Column2])
值为零时返回一条短划线 (-)
  


  要显示短划线、#N/A 或 NA 而不是错误值,请使用 ISERROR 函数。



COLUMN1COLUMN2公式说明(可能的结果)

10
0
=[Column1]/[Column2]
产生错误 (#DIV/0)


10
0
=IF(ISERROR([Column1]/[Column2]),"NA",[Column1]/[Column2])
值为错误时返回 NA


10
0
=IF(ISERROR([Column1]/[Column2]),"-",[Column1]/[Column2])
值为错误时返回一条短划线





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



=DATE(YEAR(创建时间),MONTH(创建时间),DAY(创建时间))
  


  添加日期


  要向某个日期添加若干天,请使用加法运算符 (+)。
   注释   对日期进行操作时,计算栏的返回类型必须设置为“日期和时间”



COLUMN1COLUMN2公式说明(结果)

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 函数。



COLUMN1COLUMN2公式说明(结果)

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 函数。



COLUMN1COLUMN2公式说明(结果)

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 函数执行此计算。



COLUMN1COLUMN2公式说明(结果)

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。



COLUMN1COLUMN2公式说明(结果)

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 函数。



COLUMN1COLUMN2公式说明(结果)

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 函数。



COLUMN1COLUMN2COLUMN3公式说明(结果)

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 函数。



COLUMN1COLUMN2COLUMN3公式说明(结果)

15000
9000
-8000
=[Column1]-[Column2]
从 15000 中减去 9000 (6000)


15000
9000
-8000
=SUM([Column1], [Column2], [Column3])
将前三个栏中的数字相加,包括负值 (16000)
将两个数字之间的差值计算为百分比


  请使用减法运算符 (-)、除法运算符 (/) 和 ABS 函数。



COLUMN1COLUMN2公式说明(结果)

2342
2500
=([Column2]-[Column1])/ABS([Column1])
百分比变动(6.75% 或 0.06746)
数字相乘


  要将一行中两栏或更多个栏中的数字相乘,请使用乘法运算符 (*) 或 PRODUCT 函数。



COLUMN1COLUMN2公式说明(结果)

5
2
=[Column1]*[Column2]
将前两个栏中的数字相乘 (10)


5
2
=PRODUCT([Column1], [Column2])
将前两个栏中的数字相乘 (10)


5
2
=PRODUCT([Column1],[Column2],2)
将前两个栏中的数字及数字 2 相乘 (20)
  数字相除


  要将一行中两栏或更多个栏中的数字相除,请使用除法运算符 (/)。



COLUMN1COLUMN2公式说明(结果)

15000
12
=[Column1]/[Column2]
用 15000 除以 12 (1250)


15000
12
=([Column1]+10000)/[Column2]
将 15000 与 10000 相加,然后用和除以 12 (2083)
  计算一组数字的平均值


  平均值也称为平均数。要计算一行中两栏或更多个栏中的数字的平均值,请使用 AVERAGE 函数。



COLUMN1COLUMN2COLUMN3公式说明(结果)

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 函数计算一组数字的中值。



ABCDEF公式说明(结果)

10
7
9
27
0
4
=MEDIAN(A, B, C, D, E, F)
前六个栏中的数字的中值 (8)
  计算某个范围中的最小数或最大数


  要计算一行中两栏或更多个栏中的数字中的最小数或最大数,请使用 MIN 和 MAX 函数。



COLUMN1COLUMN2COLUMN3公式说明(结果)

10
7
9
=MIN([Column1], [Column2], [Column3])
最小数 (7)


10
7
9
=MAX([Column1], [Column2], [Column3])
最大数 (10)
  对数值进行计数


  要对数值进行计数,请使用 COUNT 函数。



COLUMN1COLUMN2COLUMN3公式说明(结果)

苹果树

12/12/2007
=COUNT([Column1], [Column2], [Column3])
计算包含数值的栏数。排除日期和时间、文本以及空值 (0)


$12
#DIV/0!
1.01
=COUNT([Column1], [Column2], [Column3])
计算包含数值的栏数,但排除错误和逻辑值 (2)
  将一个数字增加或减少一个百分点


  请使用百分数 (%) 运算符执行此计算。



COLUMN1COLUMN2公式说明(结果)

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 函数执行此计算。



COLUMN1COLUMN2公式说明(结果)

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 函数。



COLUMN1COLUMN2公式说明(结果)

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 函数和“与”运算符。



COLUMN1COLUMN2公式说明(结果)

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 函数和“与”运算符 (&)。



COLUMN1COLUMN2公式说明(结果)

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 函数。



COLUMN1COLUMN2公式说明(可能的结果)

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 函数。



COLUMN1COLUMN2COLUMN3公式说明(结果)

销售额
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 次 (----------)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119481-1-1.html 上篇帖子: 上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端 下篇帖子: 上海地区sharepoint用户组活动:SPS WITH WORK FLOW
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表