目录:
1. 概述编辑
本文介绍 新增计算列算子 支持的公式。
2. 支持的公式列表编辑
2.1 逻辑函数
2.1.1 AND
AND(表达式1, 表达式2, ……)
简介 | 判断系列参数的真值,必须所有的参数都为真最后结果才为真 |
---|---|
公式逻辑 | AND(表达式1, 表达式2, ……) 表达式允许为数值和布尔 当所有表达式的值为真时,返回 TRUE;当任意表达式的值为假时,返回 FALSE
|
输出类型 | 布尔 |
示例 | AND(1+7=8, 5+7=12)等于 true AND(1+7=8, 5+7=11)等于 false |
2.1.2 IF
IF(表达式, 数值1/文本1/日期时间1/NULL, 数值2/文本2/日期时间2/NULL)
简介 | 表达式判定后选择展示值 |
---|---|
公式逻辑 | IF(表达式, 数值1/文本1/日期时间1/NULL, 数值2/文本2/日期时间2/NULL) 表达式允许为数值和布尔
第二个参数和第三个参数的类型必须相同,手写NULL时,视为和另一个非空的参数类型相同,全为手写NULL时,和手写一个单独的NULL逻辑一样 类型相同的定义:
|
输出类型 |
|
示例 | IF(true,2,8)等于2 IF(false,"first","second")等于"second" |
2.1.3 OR
OR(表达式1, 表达式2, ……)
简介 | 判断系列参数的真值,只要有一个参数为真最后结果就为真 |
---|---|
公式逻辑 | OR(表达式1, 表达式2, ……) 表达式允许为数值和布尔
非 0 值视为真 0 值视为假 NULL参与运算,值为NULL |
输出类型 | 布尔 |
示例 | OR(1+7=9,5+7=11)等于false OR(1+7=8,5+7=11)等于true |
2.1.4 SWITCH
SWITCH(表达式,值1,结果1,值2,结果2,......,其他结果)
简介 | 按表达式不同值输出不同结果 |
---|---|
公式逻辑 | SWITCH(表达式,值1,结果1,值2,结果2,......,其他结果) 1)如果表达式的结果是值1,整个函数返回结果1,如果表达式的结果是值2,整个函数返回结果2......如果没有符合要求的值,则返回其他结果 2)如果表达式为NULL,则结果为NULL 3)要求结果类型必须为相同类型,手写NULL时,视为和另一个非空的参数类型相同,结果全为手写NULL时,和手写一个单独的NULL逻辑一样,允许选择字段 4)表达式和值的类型必须为相同类型 |
输出类型 |
|
示例 | SWITCH(5, 3, "今天星期三", 4, "今天星期四", "星期五") 输出结果为"星期五" |
2.2 文本
2.2.1 CHAR
CHAR(数值)
简介 | 返回对应数字(ASCII)的字符 |
---|---|
公式逻辑 | CHAR(数值) 根据指定数字返回对应的字符 CHAR 函数可将计算机其他类型的数字代码转换为字符 如果表达式为NULL,则结果为NULL |
输出类型 | 文本 |
示例 | CHAR(88)等于“X” CHAR(45)等于“-” |
2.2.2 CODE
CODE(文本)
简介 | 计算文本串中第一个字符的数字代码 |
---|---|
公式逻辑 | CODE(文本) 计算「文本」中第一个字符的 ASCII 代码 返回的代码对应于计算机使用的字符集 如果表达式为NULL,则结果为NULL |
输出类型 | 数值 |
示例 | CODE("S")等于83 CODE("Spreadsheet")等于83 |
2.2.3 CONCATENATE
CONCATENATE(文本1, 文本2,……)
简介 | 字符串拼接 |
---|---|
公式逻辑 | CONCATENATE(文本1, 文本2,……) 将数个字符串合并成一个字符串 文本1, 文本2,……为需要合并成单个文本的文本项 如果所有文本字段全为NULL,结果为NULL 如果存在文本字段不为NULL,将NULL的文本字段视作空字符串拼接 |
输出类型 | 文本 |
示例 | CONCATENATE("Average","Price")等于“AveragePrice” CONCATENATE("1","2")等于12 |
2.2.4 STARTWITH
STARTWITH(文本1, 文本2)
简介 | 判断字符串文本1是否以文本2开始 |
---|---|
公式逻辑 | STARTWITH(文本1, 文本2) 判断「文本1」是否以「文本2」开始 「文本1」和「文本2」大小写敏感 如果参数中有NULL,则结果为NULL |
输出类型 | 布尔 |
示例 | STARTWITH("FineDataLink","Fine")等于TRUE STARTWITH("FineDataLink","Data")等于FALSE STARTWITH("FineDataLink","fine")等于FALSE |
2.2.5 ENDWITH
ENDWITH(文本1, 文本2)
简介 | 判断字符串文本1是否以文本2结束 |
---|---|
公式逻辑 | ENDWITH(文本1, 文本2) 判断「文本1」是否以「文本2」结束 「文本1」和「文本2」大小写敏感 如果参数中有NULL,则结果为NULL |
输出类型 | 布尔 |
示例 | ENDWITH("FineDataLink","Link")等于true ENDWITH("FineBI","Fine")等于false ENDWITH("FineBI","link")等于false |
2.2.6 EXACT
EXACT(文本1,文本2)
简介 | 检测两组文本是否相同 |
---|---|
公式逻辑 | EXACT(文本1,文本2) 检测两组文本是否相同。如果完全相同,EXACT函数返回TRUE;否则,返回FALSE。EXACT函数可以区分大小写,但忽略格式的不同。同时也可以利用EXACT函数来检测输入文档的文字。 |
输出类型 | 布尔 |
示例 | - |
2.2.7 REGEXP
REGEXP(文本, 正则表达式)
简介 | 字符串是否与正则表达式PATTERN相匹配 |
---|---|
公式逻辑 | REGEXP(文本, 正则表达式) 「文本」是否与「正则表达式」相匹配 正则表达式需要以字符串传入,如果表达式中有\,需要使用\\(转义) 如果参数中有NULL,则结果为NULL |
输出类型 | 布尔 |
示例 | REGEXP("aaaaac","a*c")等于true REGEXP("abc","a+c")等于false |
2.2.8 FIND
FIND(文本1, 文本2, 索引)
简介 | 从指定的索引处开始 返回第一次出现的指定子字符串文本1在此字符串文本2中的索引 (传入字符找位置) |
---|---|
公式逻辑 | FIND(文本1, 文本2, 索引) 从指定的索引处开始,返回「文本2」中第一次出现「文本1」的索引位置 如果找不到返回数值 0 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | FIND("I","Information")等于1 FIND("i","Information")等于9 FIND("o","Information",2)等于4 FIND("o","Information",12)等于0 FIND("o","Information",-1)返回空 |
2.2.9 INDEXOF
INDEXOF(文本, 索引数值)
简介 | 返回字符串S1在指定索引位置上的字符 (传入位置找字符) |
---|---|
公式逻辑 | INDEXOF(文本, 索引数值) 返回「文本」在「索引数值」位置上的字符 「索引数值」从0开始计数 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | INDEXOF("FineDataLink",0)等于'F' INDEXOF("FineDataLink",2)等于'n' INDEXOF("FineDataLink",5)等于'a' |
2.2.10 LEFT
LEFT(文本, 字符数)
简介 | 根据指定的字符数返回文本串中的第一个或前几个字符 |
---|---|
公式逻辑 | LEFT(文本, 字符数) 根据指定的「字符数」返回「文本」中的第一个或前几个字符 要求「字符数」值必须等于或大于0 如果「字符数」大于整个文本的长度,LEFT函数将返回所有的文本 如果省略「字符数」,则默认值为1 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | LEFT("Finesoftware",8)等于"Finesoft" LEFT("Finesoftware")等于"F" |
2.2.11 MID
MID(文本, 起始位置, 字符数)
简介 | 将文本串从指定位置返回一定数目的字符 |
---|---|
公式逻辑 | MID(文本, 起始位置, 字符数) 返回「文本」中从「起始位置」开始的一定数目的字符,该数目为「字符数」 「起始位置」从1开始 如果「起始位置」大于文本长度,MID函数返回“”(空文本) 如果「起始位置」小于文本长度,并且「起始位置」加上「字符数」大于「文本」长度,MID函数将从「起始位置」指定的起始字符直至「文本」末的所有字符 如果「起始位置」小于1,MID函数不返回结果 如果「字符数」是负数,MID函数不返回结果 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | MID("Finemoresoftware",9,8)返回"software" MID("Finemoresoftware",30,5)返回""(空文本) MID("Finemoresoftware",0,8)不返回结果 MID("Finemoresoftware",5,-1)不返回结果 |
2.2.12 RIGHT
RIGHT(文本, 字符数)
简介 | 从右返回文本串的字符 |
---|---|
公式逻辑 | RIGHT(文本, 字符数) 根据指定的「字符数」从右开始返回「文本」中的最后一个或几个字符 要求「字符数」不能小于0 如果「字符数」大于文本串长度,RIGHT函数将返回整个文本 如果不指定「字符数」,则默认值为1 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | RIGHT("Itisinteresting",6)等于"esting" RIGHT("ShareHolder")等于"r" RIGHT("Hugesale",4)等于"sale" |
2.2.13 LEN
LEN(文本/数值)
简介 | 返回文本串中的字符数长度 |
---|---|
公式逻辑 | LEN(文本/数值) 返回「文本」中的字符数长度,空格也计为字符 输入字符串时,将文本转为字符串 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | LEN("FineDataLink")等于12 LEN("Fine Data Link")等于14 |
2.2.14 LOWER
LOWER(文本)
简介 | 将所有的大写字母转化为小写字母 |
---|---|
公式逻辑 | LOWER(文本) 将「文本」中所有的大写字母转化为小写字母 不转化文本串中非字母的字符 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | LOWER("A.M.10:30")等于“a.m.10:30” LOWER("China")等于“china” |
2.2.15 UPPER
UPPER(文本)
简介 | 把所有字符转化为大写 |
---|---|
公式逻辑 | UPPER(文本) 将「文本」中所有的小写字母转化为大写字母 不转化文本串中非字母的字符 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | UPPER("notes")等于"NOTES" |
2.2.16 PROPER
PROPER(文本)
简介 | 将文本中的第一个字母和所有非字母字符后的第一个字母转化成大写 其他字母变为小写 |
---|---|
公式逻辑 | PROPER(文本) 将文本中的第一个字母和所有非字母字符后的第一个字母转化成大写,其他字母变为小写 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | PROPER("100 percent")等于“100 Percent” PROPER("SpreaDSheEt")等于“Spreadsheet” |
2.2.17 REPEAT
REPEAT(文本, 次数)
简介 | 根据指定次数重复显示文本 |
---|---|
公式逻辑 | REPEAT(文本, 次数) 根据指定的次数重复显示文本 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | REPEAT("$",4)等于“$$$$” REPEAT("你好",3)等于“你好你好你好” |
2.2.18 REPLACE
简介 | 根据指定字符串,用其他文本来代替原始文本中的内容 根据指定的字符数,用其他文本串来替换某个文本串中的部分内容 |
---|---|
公式逻辑 | 用法一: REPLACE(完整文本, 旧文本, 新文本) 在指定的「完整文本」中,用「新文本」内容替换「旧文本」内容 用法二: REPLACE(完整文本, 开始位置, 字符数, 新文本) 根据指定的「字符数」,用「新文本」来替换「完整文本」中的部分内容。 从「开始位置」开始,替换「字符数」个字符 如果完整文本为NULL,则结果为NULL 如果完整文本不为NULL,旧文本为NULL,则直接返回完整文本 如果新文本为NULL,则返回完整文本中,剔除旧文本匹配项后的文本 |
输出类型 | 文本 |
示例 | 用法一: REPLACE("abcd","a","re")等于"rebcd" REPLACE("a**d","**d","rose")等于"arose" 用法二: REPLACE("0123456789",5,4,"*")等于"0123*89" REPLACE("1980",3,2,"99")等于"1999" |
2.2.19 TODOUBLE
TODOUBLE(文本)
简介 | 将文本转换成Double对象 |
---|---|
公式逻辑 | TODOUBLE(文本) 将「文本」转换成Double对象 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | TODOUBLE("123.21")等于123.21 |
2.2.20 TOINTEGER
TOINTEGER(文本)
简介 | 将文本转换成Integer对象 |
---|---|
公式逻辑 | TOINTEGER(文本) 将「文本」转换成Integer对象 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | TOINTEGER("123")等于123 |
2.2.21 TRIM
TRIM(文本)
简介 | 清除文本首尾空格 |
---|---|
公式逻辑 | TRIM(文本) 清除「文本」首尾所有的空格 |
输出类型 | 文本 |
示例 | TRIM(" Monthly Report")等于"Monthly Report" |
2.3 日期函数
2.3.1 DATE
DATE(年数值, 月数值, 日数值)
简介 | 返回一个特定日期 |
---|---|
公式逻辑 | DATE(年数值, 月数值, 日数值) 返回一个由「年数值」、「月数值」、「日数值」表示的某一特定日期 「年数值」可为一到四位数 「月数值」代表月份,若「月数值」<12,则函数把参数值作为月 「月数值」>12,则函数从「年数值」的一月份开始往上累加 「日数值」代表日期。进位逻辑同「月数值 如果参数中有NULL,则结果为NULL |
输出类型 | 日期时间 |
示例 | DATE(1978,9,19)等于1978-09-19 DATE(2000,13,05)等于2001-01-05 DATE(2000,3,35)等于2000-04-04 |
2.3.2 TIME
TIME(小时数, 分钟数, 秒数)
简介 | 返回指定的日期和时间,日期会随当天的日期改变 |
---|---|
公式逻辑 | TIME(小时数, 分钟数, 秒数):返回指定的日期和时间,日期会随当天的日期改变 介于0:00:00(12:00:00A.M.)与23:59:59(11:59:59P.M.)之间的时间可返回0到0.99999999之间的对应数值 小时数:介于0到23之间的数 分钟数:介于0到59之间的数 秒数:介于0到59之间的数 如果参数中有NULL,则结果为NULL |
输出类型 | 日期时间 |
示例 | TIME(14,40,0)等于系统时间年月日 14:40:00 TIME(19,43,24)等于系统时间年月日 19:43:24 |
2.3.3 TODAY
简介 | 获取当前日期 |
---|---|
公式逻辑 | TODAY() 获取当前日期 |
输出类型 | 日期时间 |
示例 | 如果系统日期是2005年9月10日则TODAY()等于2005-09-10 |
2.3.4 NOW
简介 | 获取当前时间 |
---|---|
公式逻辑 | NOW() 获取当前日期时间 |
输出类型 | 日期时间 |
示例 | 如果服务器时间是2023年02月23日20点10分25秒 则NOW()等于2023-02-23 20:10:25 |
2.3.5 ADDTODATE
ADDTODATE(文本/日期时间, 单位, 变动值)
简介 | 返回一个指定日期后,指定DELTA时间的日期 |
---|---|
公式逻辑 | ADDTODATE(文本/日期时间, 单位, 变动值) 返回指定日期后,指定年/月/日/时/分/秒后的日期
如果参数中有NULL,则结果为NULL 单位要求是常量,不支持字段,可以输入参数 |
输出类型 | 日期时间 |
示例 | ADDTODATE("2023-01-01", "y", 1)等于2024-01-01 |
2.3.6 DATEDIF
DATEDIF(文本/开始日期, 文本/结束日期, 单位)
简介 | 返回两个指定日期间的天数、月数或年数 |
---|---|
公式逻辑 | DATEDIF(文本/开始日期, 文本/结束日期, 单位) 返回两个指定日期间的天数、月数或年数 开始日期:代表所指定时间段的初始日期 结束日期:代表所指定时间段的终止日期 单位值:函数返回信息的类型
如果参数中有NULL,则结果为NULL 单位要求是常量,不支持字段,可以输入参数 |
输出类型 | 数值 |
示例 | DATEDIF("2001/2/28","2004/3/20","Y")等于3,即在2001年2月28日与2004年3月20日之间有3个整年 DATEDIF("2001/2/28","2004/3/20","M")等于37,即在2001年2月28日与2004年3月20日之间有36个整月 DATEDIF("2001/2/28","2004/3/20","D")等于1116,即在2001年2月28日与2004年3月20日之间有1116个整天 DATEDIF("2001/2/28","2004/3/20","md")等于8,即忽略月和年后,2001年2月28日与2004年3月20日的差为8天 DATEDIF("2001/1/28","2004/3/20","YM")等于2,即忽略日和年后,2001年1月28日与2004年3月20日的差为2个月 DATEDIF("2001/2/28","2004/3/20","yd")等于21,即忽略年后,2001年2月28日与2004年3月20日的差为21天 |
2.3.7 DATETONUMBER
DATETONUMBER(文本/日期时间)
简介 | 返回自1970年1月1日00:00:00GMT经过的毫秒数。 日期转数字(时间戳) |
---|---|
公式逻辑 | DATETONUMBER(文本/日期时间) 返回自1970年1月1日00:00:00GMT至「日期时间」所经过的毫秒数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | DATETONUMBER(TODATE("2008-08-08"))等于1218124800000 |
2.3.8 FORMAT
FORMAT(数值/日期时间, 格式)
简介 | 将字符串按一定格式输出 日期转字符串 |
---|---|
公式逻辑 | FORMAT(数值/日期时间, 格式) 返回「数值/日期时间」的指定「格式」的文本 如果参数中有NULL,则结果为NULL |
输出类型 | 文本 |
示例 | FORMAT(1234.5,"#,##0.00")=1234.50 FORMAT(1234.5,"#,##0")=1234 FORMAT(1234.5,"¥#,##0.00")=¥1234.50 FORMAT(1.5,"0%")=150% FORMAT(1.5,"0.000%")=150.000% FORMAT(6789,"##0.0E0")=6.789E3 FORMAT(6789,"0.00E00")=6.79E03 FORMAT(date(2007,1,1),"EEEEE,MMMMMdd,yyyy")=星期一,一月01,2007 FORMAT(date(2007,1,13),"MM/dd/yyyy")=01/13/2007 FORMAT(date(2007,1,13),"M-d-yy")=1-13-07 FORMAT(time(16,23,56),"h:mm:ssa")=4:23:56下午 |
2.3.9 TODATE
TODATE(参数1, [参数2])
简介 | 可以将各种日期形式的参数转换为日期类型 其他格式日期/数字/字符串转日期 |
---|---|
公式逻辑 | TODATE(参数1, [参数2]) 用法一(仅传参数1): 「参数1」是一个日期型的参数,那么直接将这个参数返回 用法二(仅传参数1): 「参数1」是毫秒时间戳,返回对应的时间 用法三(仅传参数1): 「参数1」是日期格式的文本,那么返回这个文本对应的日期 用法四(传参数1和参数2): 「参数1」是日期格式的文本,「参数2」是用来解析日期的格式 特别的,"yyyyMMdd"是用来解析形如“20081230”之类的日期格式的。比如TODATE("20110830","yyyyMMdd")返回2011年08月30日组成的日期 如果参数中有NULL,则结果为NULL |
输出类型 | 日期时间 |
示例 | 用法一: TODATE(DATE(2007,12,12))返回2007年12月12日组成的日期 用法二: TODATE(1023542354746)返回2002年6月8日 用法三: TODATE("2007/10/15")返回2007年10月5日组成的日期 TODATE("2007-6-8")返回2007年6月8日组成的日期 用法四: TODATE("1/15/07", "MM/dd/yy")返回07年1月15日组成的日期 特别的,"yyyyMMdd"是用来解析形如“20081230”之类的日期格式的 比如TODATE("20110830","yyyyMMdd")返回2011年08月30日组成的日期 |
2.3.10 YEAR
YEAR:(文本/日期时间, 格式)
简介 | 返回日期中的年 |
---|---|
公式逻辑 | YEAR:(文本/日期时间, 格式):返回日期中的年 year是介于1900和9999之间的一个数 允许YEAR(文本/日期时间, 格式)内参数为空,即YEAR(),当参数为空时,取当前系统的服务器时间对应日期的年份数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | YEAR()等于2020,对应系统服务器时间为2020-10-23 15:36:25 YEAR("2000/1/1")等于2000 YEAR("1997-04-20","yyyy-MM-dd")等于1997 |
2.3.11 MONTH
MONTH(文本/日期时间, 格式)
简介 | 返回日期中的月,月是介于1和12之间的一个数 |
---|---|
公式逻辑 | MONTH(文本/日期时间, 格式) 返回日期中的月。月是介于1和12之间的一个数 文本/日期时间:含有所求的月的日期 允许MONTH(文本/日期时间,格式)内参数为空,即MONTH(),当参数为空时,取当前系统的服务器时间对应日期的月数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | MONTH()等于10,对应系统服务器时间为2020-10-23 15:36:25 MONTH("2000/1/1")等于1 MONTH("1997-04-20","yyyy-MM-dd")等于4 |
2.3.12 WEEK
WEEK(文本/日期时间/数值, "F1"/"F7")
简介 | 返回一个代表一年中的第几周的数字 |
---|---|
公式逻辑 | WEEK(文本/日期时间/数值, "F1"/"F7") 返回一个代表一年中的第几周的数字,可以在决策平台中设置以周天还是周一为一周的开始。F1/F7如果不输入默认值为F7 文本/日期时间:表示输入的日期 允许WEEK(serial_number,"F1"/"F7")内参数为空,即WEEK(),当参数为空时,取当前系统的服务器时间对应的所属一年中第几周的数字 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | WEEK()等于52,对应系统服务器时间为2010-1-1 15:36:25 WEEK("2010/1/1")等于52 WEEK("2010/1/1","F1")等于1 WEEK("2010/1/6")等于1 |
2.3.13 DAY
DAY(文本/日期时间, 格式)
简介 | 返回日期中的日 |
---|---|
公式逻辑 | DAY(文本/日期时间, 格式) 返回日期中的日,DAY是介于1和31之间的一个数 日期时间:含有所求的年的日期 允许DAY(serial_number,格式)内参数为空,即DAY(),当参数为空时,取当前系统的服务器时间对应日期中的日 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | DAY()等于23,对应系统服务器时间为2020-10-23 15:36:25 DAY("2000/1/1")等于1 DAY("1997-04-20","yyyy-MM-dd")等于20 |
2.3.14 HOUR
HOUR(文本/日期时间,格式)
简介 | 返回某一指定时间的小时数 |
---|---|
公式逻辑 | HOUR(文本/日期时间,格式) 返回某一指定时间的小时数。函数指定HOUR为0(0:00)到23(23:00)之间的一个整数。 文本/日期时间:包含所求小时的时间 允许HOUR(文本/日期时间,格式)内参数为空,即HOUR(),当参数为空时,取当前系统的服务器时间对应的小时数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | HOUR()等于15,对应系统服务器时间为2020-10-23 15:36:2 HOUR("11:32:40")等于11。 HOUR("11:32:40","HH:mm:ss")等于11 |
2.3.15 MINUTE
MINUTE(文本/日期时间,格式)
简介 | 返回某一指定时间的分钟数 |
---|---|
公式逻辑 | MINUTE(文本/日期时间,格式) 返回某一指定时间的分钟数,其值是介于0与59之间的一个整数 文本/日期时间:包含所求分钟数的时间 允许MINUTE(文本/日期时间,格式)内参数为空,即MINUTE(),当参数为空时,取当前系统的服务器时间对应的分钟数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | MINUTE()等于36,对应系统服务器时间为2020-10-23 15:36:25 MINUTE("15:36:25")等于36 MINUTE("15:36:25","HH:mm:ss")等于36 |
2.3.16 SECOND
SECOND(文本/日期时间,格式)
简介 | 返回某一指定时间的秒数 |
---|---|
公式逻辑 | SECOND(文本/日期时间,格式) 返回某一指定时间的秒数,其值是介于0与59之间的一个整数 文本/日期时间:包含所求秒数的时间 允许SECOND(文本/日期时间,格式)内参数为空,即SECOND(),当参数为空时,取当前系统的服务器时间对应的秒数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | SECOND()等于25,对应系统服务器时间为2010-1-1 15:36:25 SECOND("15:36:25")等于25。 SECOND("15:36:25","HH:mm:ss")等于25 |
2.3.17 WEEKDAY
WEEKDAY(文本/日期时间)
简介 | 获取日期并返回星期数 |
---|---|
公式逻辑 | WEEKDAY(文本/日期时间) 获取日期并返回星期数。返回值为介于0到6之间的某一整数,分别代表星期中的某一天(从星期日到星期六) 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | WEEKDAY("2005/9/10")等于6(星期六) WEEKDAY("2005/9/11")等于0(星期日) |
2.4 数字
2.4.1 ABS
ABS(数值)
简介 | 返回数字绝对值 |
---|---|
公式逻辑 | ABS(数值) 返回指定数字的绝对值,恒为非负数。 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | ABS(-1.5)等于1.5 ABS(0)等于0 ABS(2.5)等于2.5 |
2.4.2 SIN
SIN(弧度值)
简介 | 求正弦 |
---|---|
公式逻辑 | SIN(弧度值) 计算给定角度的正弦值 如果参数的单位是度,将其乘以PI()/180即可转换成弧度 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | SIN(10)等于-0.54 SIN(45*PI()/180)等于0.71 |
2.4.3 ASIN
ASIN(正弦值)
简介 | 反正弦值 |
---|---|
公式逻辑 | ASIN(正弦值) 返回指定数值的反正弦值。反正弦值为一个角度,返回角度以弧度形式表示 指定数值必须在-1到1之间(含1与-1)。返回角度在-pi/2到pi/2之间(含-pi/2与pi/2)。用角度形式返回数值时,返回数值乘以180/PI() 如果参数中有NULL,则结果为NULL。(BI结果为0) |
输出类型 | 数值 |
示例 | ASIN(0.5)等于0.523598776(pi/6弧度) ASIN(1)等于1.570796327(pi/2弧度) ASIN(0.5)*180/PI()等于30(度) |
2.4.4 COS
COS(弧度值)
简介 | 余弦值 |
---|---|
公式逻辑 | COS(弧度值):返回一个角度的余弦值 要把一个角度转换成弧度值,将角度乘于PI()/180。COS(n*2*PI()+number)=COS(number)(其中n为整数,number从-pi到pi) 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | COS(0.5)等于0.877582562 COS(30*PI()/180)等于0.866025404 |
2.4.5 ACOS
简介 | 反余弦值 |
---|---|
公式逻辑 | ACOS(余弦值) 返回指定数值的反余弦值。反余弦值为一个角度,返回角度以弧度形式表示 函数的参数必须在-1和1之间,包括-1和1。返回的角度值在0和Pi之间。如果要把返回的角度用度数来表示,用180/PI()乘返回值即可 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | ACOS(1)等于0(弧度) ACOS(0.5)等于1.047197551(Pi/3弧度) ACOS(0.5)*180/PI()等于60(度) |
2.4.6 TAN
TAN(弧度值)
简介 | 求正切 |
---|---|
公式逻辑 | TAN(弧度值):返回指定角度的正切值 如果参数是以度为单位的,乘以Pi()/180后转换为弧度 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | TAN(0.8)等于1.029638557 TAN(45*Pi()/180)等于1 |
2.4.7 ATAN
ATAN(正切值)
简介 | 反正切值 |
---|---|
公式逻辑 | ATAN(正切值) 计算指定数值的反正切值。指定数值是返回角度的正切值,返回角度以弧度形式表示 返回角度在-pi/2到pi/2之间。无法返回角度-pi/2或pi/2。用角度形式返回数值时,返回数值乘以180/PI() 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | ATAN(-1)等于-0.785398163(-pi/4弧度) ATAN(0)等于0(弧度) ATAN(2)*180/PI()等于63.43494882(度) |
2.4.8 ATAN2
ATAN2(X坐标, Y坐标)
简介 | 坐标的反正切值 |
---|---|
公式逻辑 | ATAN2(X坐标, Y坐标) 返回X、Y坐标的反正切值。返回角度为X轴与过(X坐标,Y坐标)与坐标原点(0,0)的一条直线形成的角度。该角度以弧度显示 正值表示从x轴开始以逆时针方式所得的角度;负值表示从x轴开始以顺时针方式所得的角度。 a>0,b>0 or a>0,b<0时,公式直接成立;a<0,b>0,ATAN2(a,b)=PI()-ABS(ATAN(b/a)) ;a<0,b<0,ATAN2(a,b)=ABS(ATAN(b/a))-PI() 当用角度制显示返回数值时,把返回数值乘以180/PI() 返回值以弧度表示(返回值大于-pi且小于等于pi) 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | ATAN2(-2,2)等于2.356194490192345(弧度制的3*pi/4) ATAN2(2,2)等于0.785398163(弧度制的pi/4) ATAN2(-2,2)*180/PI()等于135(角度制) |
2.4.9 CEILING
CEILING(数值)
简介 | 沿绝对值增大方向取整 |
---|---|
公式逻辑 | CEILING(数值) 将参数沿绝对值增大的方向,舍入为最接近的整数。 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | CEILING(-2.5)等于-2 CEILING(0.5)等于1 CEILING(1.25)等于2 |
2.4.10 FLOOR
FLOOR(数值)
简介 | 沿绝对值减小的方向去尾舍入 |
---|---|
公式逻辑 | FLOOR(数值) 将参数沿减小的方向,去尾舍入 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | FLOOR(-2.5)等于-3 FLOOR(2.5)等于2 |
2.4.11 ROUND
ROUND(数值, 舍入位数)
简介 | 按位数进行舍入 |
---|---|
公式逻辑 | ROUND(数值, 舍入位数) 返回某个数字按指定位数舍入后的数字 舍入位数小于0,则在小数点左侧进行舍入 舍入位数等于0,则舍入到最接近的整数 舍入位数大于0,则舍入到指定的小数位 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | ROUND(2.15,1)等于2.2 ROUND(2.149,1)等于2.1 ROUND(-1.475,2)等于-1.48 ROUND(21.5,-1)等于20 |
2.4.12 POWER
POWER(底数, 指数)
简介 | 返回乘幂 |
---|---|
公式逻辑 | POWER(底数, 指数):返回指定数字的乘幂 底数按照该指数次幂乘方 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | POWER(6,2)等于36 POWER(14,5)等于537824 POWER(4,2/3)等于2.52 POWER(3,-2.3)等于0.08 |
2.4.13 EXP
EXP(指数值)
简介 | 返回e的n次幂 |
---|---|
公式逻辑 | EXP(指数值) 返回e的n次幂。常数e为自然对数的底数,等于2.71828182845904 EXP函数与LN函数互为反函数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | EXP(0)等于1 EXP(3)等于20.09 EXP(LN(2))等于2 |
2.4.14 LN
LN(正实数)
简介 | 返回一个数以e为底的对数 |
---|---|
公式逻辑 | LN(正实数) 返回一个数的自然对数。自然对数以常数项e(2.71828182845904)为底 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | LN(86)等于4.45437 LN(2.7182818)等于1 LN(EXP(3))等于3 EXP(LN(4))等于4 |
2.4.15 LOG
LOG(正实数,底数)
简介 | 求任意底数对应的对数值,底数不加默认为10 |
---|---|
公式逻辑 | LOG(正实数,底数):按指定的任意底数,返回数值的对数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | LOG(16,2)等于4 LOG(10)等于1 LOG(24,3)等于2.90 |
2.4.16 MAX
MAX(数值1, 数值2, ……)
简介 | 求最大值 |
---|---|
公式逻辑 | MAX(数值1, 数值2, ……) 返回参数列表中的最大值 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | MAX(1,2,3,4,5)等于5 |
2.4.17 MIN
简介 | 求最小值 |
---|---|
公式逻辑 | MIN(数值1, 数值2, ……) 返回参数列表中的最小值。 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | MIN(1,2,3,4,5)等于1 |
2.4.18 MOD
MOD(被除数, 除数)
简介 | 求余数 |
---|---|
公式逻辑 | MOD(被除数, 除数) 返回两数相除的余数。结果的正负号与除数相同 除数为0时,余数无穷大;被除数为0时,余数为0 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | MOD(3,2)等于1 MOD(-3,2)等于1 MOD(3,-2)等于-1 MOD(-3,-2)等于-1 |
2.4.19 PI
简介 | 返回PI的倍数 |
---|---|
公式逻辑 | PI(倍数):是一个数学常量函数 倍数为空时,函数返回数值3.14 倍数不为空时,则返回PI的对应整数倍数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | SIN(PI()/2)等于1 计算圆的面积的公式:S=PI()*(r^2),其中S为圆的面积,R为圆的半径 PI(3)等于9.42 |
2.4.20 RAND
RAND()
简介 | 返回均匀分布的随机数 |
---|---|
公式逻辑 | RAND() 返回均匀分布的随机数。每计算一次,函数都会返回一个新的随机数值 生成一个位于a和b之间的随机数,可以使用以下的公式RAND()*(b-a)+a |
输出类型 | 数值 |
示例 | RAND()*60,生成一个大于等于0,小于60的随机数 RAND()*19,生成一个大于等于0,小于19的随机数 |
2.4.21 SIGN
SIGN(数值)
简介 | 返回数值正负性 |
---|---|
公式逻辑 | SIGN(数值) 返回数值的正负性。当数字为正数时返回1,为零时返回0,为负数时返回-1 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | SIGN(10)等于1 SIGN(4-4)等于0 SIGN(-0.00001)等于-1 |
2.4.22 SQRT
SQRT(数值)
简介 | 求非负数的算数平方根 |
---|---|
公式逻辑 | SQRT(数值) 返回一个非负数的算数平方根 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | SQRT(64)等于8 SQRT(-64)返回空白 |
2.4.23 TRUNC
简介 | 截尾取一定位数数值 |
---|---|
公式逻辑 | TRUNC(数值, 取整精度) 将数字的一定位数截去,返回整数或小数 如果参数中有NULL,则结果为NULL |
输出类型 | 数值 |
示例 | TRUNC(8.9)等于8 TRUNC(-8.9)等于-8 TRUNC(-8.98,1)等于-8.9 |
2.5 其他函数
2.5.1 ISNULL
简介 | 判断输入内容是否全为NULL |
---|---|
公式逻辑 | ISNULL(参数) 参数值可为任意支持的类型 判断对象中所有的值是否全部都是NULL。结果为空或NULL,返回TRUE,否则返回FALSE |
输出类型 | 布尔 |
示例 | - |