条件公式可以使用下面的公式测试语句的条件并返回值“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