logje 发表于 2015-9-27 12:30:15

SharePoint 2010 验证栏的使用说明

如何给栏添加验证公式
  创建栏界面第二栏就可以给该栏添加验证公式:

  
  

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

Len()
  说明:返回字段值的长度
  用法:

  验证是“填写周期”这个字段的值长度是16的话返回“是”,验证通过,否则返回“否”,验证不通过,显示错误提示。
  

MID()
  说明:取字段值字符串的某一个字符
  用法:

  验证“填写周期”这个字段值的第一个字符是不是为“2”,验证通过,否则返回“否”,验证不通过,显示错误提示。
  

code()
  说明:取字符的ASCII值
  用法:

  上段公式,可以=((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()=12)
+(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)
+(MID(,4,1)="-")
+(CODE(MID(,5,1))>47)
+(CODE(MID(,5,1))<58)
+(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)
+(CODE(MID(,11,1))>47)
+(CODE(MID(,11,1))<58)
+(CODE(MID(,12,1))>47)
+(CODE(MID(,12,1))<58)
=23
  


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



=(LEN()=1)
+(MID(,1,1)="A")
+(MID(,1,1)="B")
+(MID(,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(,FIND("@",)-1))>0)
+(LEN(RIGHT(,LEN()-FIND(".",,FIND("@",))))>0)
+(LEN(MID(,FIND("@",)+1,FIND(".",,FIND("@",))-FIND("@",)-1))>0)
+(ISERROR(FIND(" ",))=TRUE)
=4

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

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





元素说明

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


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


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


运算符
*(星号)运算符执行乘法运算,^(插入符号)运算符表示将数字乘幂。


  公式可以使用上表中的一个或多个元素。下面是一些按照复杂程度排序的公式的示例。

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





示例说明

=128+345
将 128 与 345 相加


=5^2
计算 5 的平方



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





示例说明

=
使用“Revenue”列中的值。


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


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



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





示例说明

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


=MAX(, , , )
返回一组数值中的最大值。


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


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



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





示例说明

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




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




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




  

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


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

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


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

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


[*]String(示例:= = "Smith")

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


[*]Number(示例:= >= 29.99)

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


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

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


[*]Boolean(示例:=IF(>, "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
  在下面的示例中,公式中第一部分周围的括号强制列表或库先计算 +25,然后用结果除以列 EC1 和 EC2 中的值之和。
  =(+25)/SUM(+)
  


常见公式示例
  

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


  使用 IF 函数进行此比较。





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

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


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


  


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





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

15
9
8
=AND(>, <)
15 大于 9 且小于 8 吗?(No)


15
9
8
=OR(>, <)
15 大于 9 或小于 8 吗?(Yes)


15
9
8
=NOT(+=24)
15 加 9 不等于 24 吗?(No)


  对于是另一个计算的结果,或者是 Yes 或 No 以外的任何其他值的结果,请使用 IF、AND 和 OR 函数。





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

15
9
8
=IF(=15, "OK", "Not OK")
如果 Column1 中的值等于 15,则返回“OK”。(OK)


15
9
8
=IF(AND(>, <), "OK", "Not OK")
如果 15 大于 9 且小于 8,则返回“OK”。(Not OK)


15
9
8
=IF(OR(>, <), "OK", "Not OK")
如果 15 大于 9 或小于 8,则返回“OK”。(OK)


  


  要显示零,请执行一次简单计算。要显示空白或短划线,请使用 IF 函数。





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

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


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


  


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





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

10
0
=/
产生错误 (#DIV/0)


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


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







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



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


  添加日期


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





COLUMN1COLUMN2公式说明(结果)

6/9/2007
3
=+
向 6/9/2007 添加 3 天 (6/12/2007)


12/10/2008
54
=+
向 12/10/2008 添加 54 天(2/2/2009)


  要向某个日期添加若干月,请使用 DATE、YEAR、MONTH 和 DAY 函数。





COLUMN1COLUMN2公式说明(结果)

6/9/2007
3
=DATE(YEAR(),MONTH()+,DAY())
向 6/9/2007 添加 3 个月 (9/9/2007)


12/10/2008
25
=DATE(YEAR(),MONTH()+,DAY())
向 12/10/2008 添加 25 个月 (1/10/2011)


  要向某个日期添加若干年,请使用 DATE、YEAR、MONTH 和 DAY 函数。





COLUMN1COLUMN2公式说明(结果)

6/9/2007
3
=DATE(YEAR()+,MONTH(),DAY())
向 6/9/2007 添加 3 年 (6/9/2010)


12/10/2008
25
=DATE(YEAR()+,MONTH(),DAY())
向 12/10/2008 添加 25 年 (12/10/2033)


  要向某个日期添加天数、月数和年数的组合,请使用 DATE、YEAR、MONTH 和 DAY 函数。





COLUMN1公式说明(结果)

6/9/2007
=DATE(YEAR()+3,MONTH()+1,DAY()+5)
向 6/9/2007 添加 3 年 1 个月零 5 天 (7/14/2010)


12/10/2008
=DATE(YEAR()+1,MONTH()+7,DAY()+5)
向 12/10/2008 添加 1 年 7 个月零 5 天 (7/15/2010)


计算两个日期之间的差值


  请使用 DATEDIF 函数执行此计算。





COLUMN1COLUMN2公式说明(结果)

01-Jan-1995
15-Jun-1999
=DATEDIF(, ,"d")
返回两个日期之间的天数 (1626)


01-Jan-1995
15-Jun-1999
=DATEDIF(, ,"ym")
返回两个日期之间的月数,忽略年 (5)


01-Jan-1995
15-Jun-1999
=DATEDIF(, ,"yd")
返回两个日期之间的天数,忽略年 (165)


计算两个时间之间的差值


  要使用标准时间格式(时:分:秒)显示结果,请使用减法运算符 (-) 和 TEXT 函数。要使此方法正常工作,小时不得超过 24,且分和秒不得超过 60。





COLUMN1COLUMN2公式说明(结果)

06/09/2007 10:35 AM
06/09/2007 3:30 PM
=TEXT(-,"h")
两个时间之间的小时数 (4)


06/09/2007 10:35 AM
06/09/2007 3:30 PM
=TEXT(-,"h:mm")
两个时间之间的小时数和分钟数 (4:55)


06/09/2007 10:35 AM
06/09/2007 3:30 PM
=TEXT(-,"h:mm:ss")
两个时间之间的小时数、分钟数和秒数 (4:55:00)


  要用基于一个时间单位的总计值显示结果,请使用 INT 函数或 HOUR、MINUTE 或 SECOND 函数。





COLUMN1COLUMN2公式说明(结果)

06/09/2007 10:35 AM
06/10/2007 3:30 PM
=INT((-)*24)
两个时间之间的总小时数 (28)


06/09/2007 10:35 AM
06/10/2007 3:30 PM
=INT((-)*1440)
两个时间之间的总分钟数 (1735)


06/09/2007 10:35 AM
06/10/2007 3:30 PM
=INT((-)*86400)
两个时间之间的总秒数 (104100)


06/09/2007 10:35 AM
06/10/2007 3:30 PM
=HOUR(-)
当差值不超过 24 时,两个时间之间的小时数 (4)


06/09/2007 10:35 AM
06/10/2007 3:30 PM
=MINUTE(-)
当差值不超过 60 时,两个时间之间的分钟数 (55)


06/09/2007 10:35 AM
06/10/2007 3:30 PM
=SECOND(-)
当差值不超过 60 时,两个时间之间的秒数 (0)


转换时间


  要将小时从标准时间格式转换为小数,请使用 INT 函数。





COLUMN1公式说明(结果)

10:35 AM
=(-INT())*24
自 12:00 AM 以后的小时数 (10.583333)


12:15 PM
=(-INT())*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(,"yy")&TEXT((-DATEVALUE("1/1/"& TEXT(,"yy"))+1),"000")
采用儒略历格式的日期,年份用两位数字表示 (07174)


6/23/2007
=TEXT(,"yyyy")&TEXT((-DATEVALUE("1/1/"&TEXT(,"yy"))+1),"000")
采用儒略历格式的日期,年份用四位数字表示 (2007174)


  要将日期转换为在天文学中使用的儒略历日期,请使用常量 2415018.50。如果使用 1900 日期系统,则此公式只对 1901 年 3 月 1 日之后的日期起作用。





COLUMN1公式说明(结果)

6/23/2007
=+2415018.50
在天文学中使用的儒略历格式的日期 (2454274.50)


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


  要将日期转换为表示一周中某一天的文本,请使用 TEXT 和 WEEKDAY 函数。





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

19-Feb-2007
=TEXT(WEEKDAY(), "dddd")
计算该日期在一周中所对应的天数,并返回这一天的全名 (Monday)


3-Jan-2008
=TEXT(WEEKDAY(), "ddd")
计算该日期在一周中所对应的天数,并返回这一天的缩写名称 (Thu)


  

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


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





COLUMN1COLUMN2COLUMN3公式说明(结果)

6
5
4
=++
将前三个栏中的值相加 (15)


6
5
4
=SUM(,,)
将前三个栏中的值相加 (15)


6
5
4
=SUM(IF(>, -, 10), )
如果 Column1 大于 Column2,则将它们的差值与 Column3 相加。否则将 10 与 Column3 相加 (5)


数字相减


  要将一行中两栏或更多个栏中的数字相减,请使用减法运算符 (-) 或带负数的 SUM 函数。





COLUMN1COLUMN2COLUMN3公式说明(结果)

15000
9000
-8000
=-
从 15000 中减去 9000 (6000)


15000
9000
-8000
=SUM(, , )
将前三个栏中的数字相加,包括负值 (16000)


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


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





COLUMN1COLUMN2公式说明(结果)

2342
2500
=(-)/ABS()
百分比变动(6.75% 或 0.06746)


数字相乘


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





COLUMN1COLUMN2公式说明(结果)

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


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


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


  数字相除


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





COLUMN1COLUMN2公式说明(结果)

15000
12
=/
用 15000 除以 12 (1250)


15000
12
=(+10000)/
将 15000 与 10000 相加,然后用和除以 12 (2083)


  计算一组数字的平均值


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





COLUMN1COLUMN2COLUMN3公式说明(结果)

6
5
4
=AVERAGE(, ,)
前三个栏中的数字的平均值 (5)


6
5
4
=AVERAGE(IF(>, -, 10), )
如果 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(, , )
最小数 (7)


10
7
9
=MAX(, , )
最大数 (10)


  对数值进行计数


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





COLUMN1COLUMN2COLUMN3公式说明(结果)

苹果树

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


$12
#DIV/0!
1.01
=COUNT(, , )
计算包含数值的栏数,但排除错误和逻辑值 (2)


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


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





COLUMN1COLUMN2公式说明(结果)

23
3%
=*(1+5%)
将 Column1 中的数字增加 5% (24.15)


23
3%
=*(1+)
将 Column1 中的数字增加 Column2 中的百分数值:3% (23.69)


23
3%
=*(1-)
将 Column1 中的数字减少 Column2 中的百分数值:3% (22.31)


  对一个数字进行乘幂运算


  使用乘幂运算符 (^) 或 POWER 函数执行此计算。





COLUMN1COLUMN2公式说明(结果)

5
2
=^
计算 5 的平方 (25)


5
3
=POWER(, )
计算 5 的立方 (125)


  对数字进行四舍五入


  要对数字向上舍入,请使用 ROUNDUP、ODD 或 EVEN 函数。





COLUMN1公式说明(结果)

20.3
=ROUNDUP(,0)
将 20.3 向上舍入为最接近的整数 (21)


-5.9
=ROUNDUP(,0)
将 -5.9 向上舍入为最接近的整数 (-5)


12.5493
=ROUNDUP(,2)
将 12.5493 向上舍入为最接近的百分位,即两个小数位数 (12.55)


20.3
=EVEN()
将 20.3 向上舍入为最接近的偶数 (22)


20.3
=ODD()
将 20.3 向上舍入为最接近的奇数 (21)


  要对数字向下舍入,请使用 ROUNDDOWN 函数。





COLUMN1公式说明(结果)

20.3
=ROUNDDOWN(,0)
将 20.3 向下舍入为最接近的整数 (20)


-5.9
=ROUNDDOWN(,0)
将 -5.9 向下舍入为最接近的整数 (-6)


12.5493
=ROUNDDOWN(,2)
将 12.5493 向下舍入为最接近的百分位,即两个小数位数 (12.54)


  要将数字四舍五入为最接近的数字或分数,请使用 ROUND 函数。





COLUMN1公式说明(结果)

20.3
=ROUND(,0)
将 20.3 向下舍入,因为其分数部分小于 .5 (20)


5.9
=ROUND(,0)
将 5.9 向上舍入,因为其分数部分大于 .5 (6)


-5.9
=ROUND(,0)
将 -5.9 向下舍入,因为其分数部分小于 -.5 (-6)


1.25
=ROUND(, 1)
将数字四舍五入到最接近的十分位(一个小数位数)。因为要进行四舍五入的部分为 0.05 或更大,该数字被向上舍入(结果:1.3)


30.452
=ROUND(, 2)
将数字四舍五入到最接近的百分位(两个小数位数)。因为要四舍五入的部分 (0.002) 小于 0.005,该数字被向下舍入(结果:30.45)


  要将数字四舍五入到 0 以上的有效位数,请使用 ROUND、ROUNDUP、ROUNDDOWN、INT 和 LEN 函数。





COLUMN1公式说明(结果)

5492820
=ROUND(,3-LEN(INT()))
将数字四舍五入到 3 个有效位数 (5490000)


22230
=ROUNDDOWN(,3-LEN(INT()))
将数字向下舍入到 3 个有效位数 (22200)


5492820
=ROUNDUP(, 5-LEN(INT()))
将数字向上舍入到 5 个有效位数 (5492900)


  

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


  要更改文本的大小写,请使用 UPPER、LOWER 或 PROPER 函数。





COLUMN1公式说明(结果)

nina Vietzen
=UPPER()
将文本更改为大写形式 (NINA VIETZEN)


nina Vietzen
=LOWER()
将文本更改为小写形式 (nina vietzen)


nina Vietzen
=PROPER()
将文本更改为词首大写形式 (Nina Vietzen)


  将名字和姓氏进行组合


  要将名字和姓氏进行组合,请使用“与”运算符 (&) 或 CONCATENATE 函数。





COLUMN1COLUMN2公式说明(结果)

Carlos
Carvallo
=&
对两个字符串进行组合 (CarlosCarvallo)


Carlos
Carvallo
=&" "&
对两个字符串进行组合,并用空格分隔 (Carlos Carvallo)


Carlos
Carvallo
=&", "&
对两个字符串进行组合,并用逗号和空格分隔 (Carvallo, Carlos)


Carlos
Carvallo
=CONCATENATE(, ",", )
对两个字符串进行组合,并用逗号分隔 (Carvallo,Carlos)


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


  要将文本和数字进行组合,请使用 CONCATENATE 函数、“与”运算符 (&) 或 TEXT 函数和“与”运算符。





COLUMN1COLUMN2公式说明(结果)

Yang
28
=&" sold "&&" units."
将上面的内容组合成一个短语 (Yang sold 28 units.)


Dubois
40%
=&" sold "&TEXT(,"0%")&" of the total sales."
  将上面的内容组合成一个短语 (Dubois sold 40% of the total sales.)
   注释 TEXT 函数追加 Column2 的带格式的值而不是基础值 .4。




Yang
28
=CONCATENATE(," sold ",," units.")
将上面的内容组合成一个短语 (Yang sold 28 units.)


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


  要将文本与日期或时间进行组合,请使用 TEXT 函数和“与”运算符 (&)。





COLUMN1COLUMN2公式说明(结果)

Billing Date
5-Jun-2007
="Statement date: "&TEXT(, "d-mmm-yyyy")
将文本与日期进行组合 (Statement date: 5-Jun-2007)


Billing Date
5-Jun-2007
=&" "&TEXT(, "mmm-dd-yyyy")
将不同栏中的文本与日期组合为一栏 (Billing Date Jun-05-2007)


  比较栏中的内容


  要将一栏同另一栏或值列表进行比较,请使用 EXACT 和 OR 函数。





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

BD122
BD123
=EXACT(,)
对前两栏中的内容进行比较 (No)


BD122
BD123
=EXACT(, "BD122")
将 Column1 中的内容与字符串“BD122”进行比较 (Yes)


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


  要检查栏值或栏值的一部分是否与特定文本匹配,请使用 IF、FIND、SEARCH 和 ISNUMBER 函数。





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

Vietzen
=IF(="Vietzen", "OK", "Not OK")
检查确定 Column1 是否为 Vietzen (OK)


Vietzen
=IF(ISNUMBER(FIND("v",)), "OK", "Not OK")
检查确定 Column1 中是否包含字母 v (OK)


BD123
=ISNUMBER(FIND("BD",))
检查确定 Column1 中是否包含 BD (Yes)


  计算非空栏的数目


  要计算非空栏的数目,请使用 COUNTA 函数。





COLUMN1COLUMN2COLUMN3公式说明(结果)

销售额
19

=COUNTA(, )
计算非空栏的数目 (2)


销售额
19

=COUNTA(, , )
计算非空栏的数目 (2)


  删除文本中的字符


  要删除文本中的字符,请使用 LEN、LEFT 和 RIGHT 函数。





COLUMN1公式说明(结果)

Vitamin A
=LEFT(,LEN()-2)
从左边开始返回 7 (9-2) 个字符 (Vitamin)


Vitamin B1
=RIGHT(, LEN()-8)
从右边开始返回 2 (10-8) 个字符 (B1)


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


  要删除栏中的空格,请使用 TRIM 函数。





COLUMN1公式说明(结果)

    Hello there!
=TRIM()
删除开头和结尾处的空格 (Hello there!)


  重复栏中的字符


  要重复栏中的字符,请使用 REPT 函数。





公式说明(结果)

=REPT(".",3)
将句号重复 3 次 (...)


=REPT("-",10)
将短划线重复 10 次 (----------)


页: [1]
查看完整版本: SharePoint 2010 验证栏的使用说明