操作符(Operator) | 描述(Description) | 例子(Examples) |
---|---|---|
+ | 加法运算。 | 1 + 1 => 2 |
- | 减法运算。 | 2 - 1 => 1 |
* | 乘法运算。 | 2 * 3 => 6 |
/ | 除法运算。 | 4 / 2 => 2 |
% | 百分比。 | 5 % 2 => 1 |
^ | 求幂。 | 2^3 => 8 |
= | 等于。 | 2 = 3 => false |
\<> | 不等于。 | 2 \<> 3 => true |
> | 大于。 | 3 > 3 => false |
>= | 大于等于。 | 3 >= 3 => true |
\< | 小于。 | 3 \< 3 => false |
\<= | 小于等于。 | 3 \<= 3 => true |
函数(Function) | 描述(Description) | 例子(Examples) |
---|---|---|
ABS(number) | 返回一个数的绝对值。 | abs(-2) => 2 |
ADD(number1, number2) | 计算两个值的和。 | add(2, 3) => 5 |
CEILING(number, __[__significance]) | 将数字向上舍入到最接近的整数或最接近的指定基数的倍数。(如果任何一个参数是非数值型,则 CEILING 返回空。 不论参数 number 的符号如何,数值都是沿绝对值增大的方向向上舍入。 如果 number 正好是 significance 的倍数,则不进行舍入。 如果 number 和 significance 都为负,则对值按远离 0 的方向进行向下舍入。 如果 number 为负,significance 为正,则对值按朝向 0 的方向进行向上舍入。) | ceiling(4, 1.5) => 4.5; ceiling(-2.5, -0.2) => -2.6; ceiling(2.5, -0.2) => ""; ceiling(3.5) => 4 |
DIVIDE(number1, number2) | 计算两个数相除。 | divide(2, 3) => 0.66666667 |
E | 自然数 (e)。 | e => 2.71828183 |
EQUAL(number1, number2) | 等于。 | equal(1, 2) => false |
EVEN(number) | 将正数向上舍入到最近的偶数,负数向下舍入到最近的偶数。 | even(3) => 4 |
EXP(number) | 返回 e 的 n 次方。 | exp(1) => 2.71828183 |
_FLOOR(number, __[__significance]) _ | 将数字向下舍入到最接近的整数或最接近的指定基数的倍数。(如果任一参数为非数值型,则 FLOOR 返回 空 。 如果 number 为正值且指定的基数为负,则 FLOOR 返回 空 。 如果 number 的符号为正,则数值向下舍入,并朝零调整。 如果 number 的符号为负,则数值沿绝对值减小的方向向下舍入。 如果 number 正好是 significance 的倍数,则不进行舍入。) | floor(4, 1.5) => 3; floor(-2.5, -0.2) => -2.4; floor(2.5, -0.2) => ""; floor(3.5) => 3 |
GREATER(number1, number2) | 判断一个数是否大于另一个数。 | greater(2, 3) => false |
GREATEREQ(number1, number2) | 判断一个数是否大于等于另一个数。 | greatereq(3, 2) => true |
INT(number) | 将数值向下取整为最接近的整数。 | INT(3.2) => 3 |
LESSTHAN(number1, number2) | 判断一个数是否小于另一个数。 | lessthan(2, 3) => true |
LESSTHANEQ(number1, number2) | 判断一个数是否小于等于另一个数。 | lessthaneq(2,3) => true |
_LG(number) _ | 返回给定数值以 10 为底的对数。 | lg(100) => 2 |
LN(number) | 返回给定数值的自然对数。 | ln(E) => 1 |
LOG(number, __[__base]) | 根据给定底数返回数字的对数。 | log(100) => 2; LOG(8, 2) => 3 |
MOD(number1, number2) | 返回两数相除的余数。 | mod(2, 3) => 2 |
MULTIPLY(number1, number2) | 计算两个数的乘积。 | multiply(2, 3) => 6 |
ODD(number) | 将正(负)数向上(下)舍入到最接近的奇数。 | odd(2.3) => 3 |
_PI _ | 圆周率(π)。 | pi => 3.14159265 |
POWER(base, number) | 返回某数的乘幂。 | power(3, 2) => 9 |
ROUND(number, __[__num_digits]) | 按指定的位数对数值进行四舍五入。(如果 num_digits 大于 0(零),则将数字四舍五入到指定的小数位。 如果 num_digits 等于 0,则将数字四舍五入到最接近的整数。 如果 num_digits 小于 0,则在小数点左侧前几位进行四舍五入。) | round(3.1415923, 3) => 3.142;round(3.1415923, -3) => 0; round(999.1415923, -3) => 1000 |
ROUNDDOWN(number, __[__num_digits]) | 向下舍入数字。(如果 num_digits 大于 0(零),则将数字向下舍入到指定的小数位。 如果 num_digits 等于 0,则将数字向下舍入到最接近的整数。 如果 num_digits 小于 0,则在小数点左侧前几位进行向下舍入。) | rounddown(3.1415923, 3) => 3.141; rounddown(999.1415923, -3) => 0 |
ROUNDUP(number, __[__num_digits]) | 向上舍入数字。(如果 num_digits 大于 0(零),则将数字向上舍入到指定的小数位。 如果 num_digits 等于 0,则将数字向上舍入到最接近的整数。 如果 num_digits 小于 0,则在小数点左侧前几位进行向上舍入。) | roundup(3.1415923, 3) => 3.142; roundup(345.1415923, -3) =>1000 |
SIGN(number) | 返回数字的正负号: 为正时,返回 1;为零时,返回 0;为负时,返回 -1。 | sign(-2) => -1 |
SQRT(number) | 返回某数的平方根。 | sqrt(4) => 2 |
SUBTRACT(number1, number2) | 计算两个值的差。 | subtract(2, 3) => -1 |
SUM(number1, __[__number2, ...]) | 计算一组值的和。 | sum(1, 2, 3) => 6 |
UNEQUAL(number1, number2) | 不等于。 | unequal(1, 2) => true |
操作符(Operator) | 描述(Description) | 例子(Examples) |
---|---|---|
& | 将多个文本值连接为单个文本值。 | "SeaTable" & " is" & " very" & " good." => "SeaTable is very good." |
函数(Function) | 描述(Description) | 例子(Examples) |
---|---|---|
CONCATENATE(string1, __[__string2, ...]) | 将多个文本值连接为单个文本值。 | concatenate('Sea', 'Table') => 'SeaTable' |
EXACT(string1, string2) | 返回两个数字符串是否相等。 | exact('SeaTable', 'SeaTable') => true |
FIND(findString, sourceString, startPosition) | 获取在一个字符串在另一个字符串中的索引。如果找不到,那么返回 0。(区分大小写)。 | find('sea', 'SeaTable', 1) => 0 |
LEN(string) | 返回字符串的长度。 | len(“SeaTable”) => 8 |
LEFT(string, count) | 从一个文本字符串的第一个字符开始返回指定个数的字符。 | left("SeaTable", 3) => Sea |
LOWER(string) | 将字符串转换为小写。 | lower("SeaTable") => seatable |
MID(string, startPosition, count) | 从文本字符串中指定的起始位置起返回指定长度的字符。 | mid("SeaTable is very good.", 1, 8 ) => SeaTable; mid("SeaTable is very good.", -1, 8 ) => #value! ; mid("SeaTable is very good.", 1.2, 8 ) => "SeaTable" |
REPLACE(sourceString, startPosition, count, replacementText) | 将一个字符串中的部分字符用另一个字符串替换。 | replace("SeaTable is very good.", 1, 8, "Seafile") => Seafile is very good. |
REPT(string, number) | 将字符串重复 nunber 次。 | rept("Sea", 3) => "SeaSeaSea" |
RIGHT(string, count) | 从一个文本字符串的最后一个字符开始返回指定个数的字符。 | right("SeaTable is very good.", 5) => good. |
SEARCH(findString, sourceString, startPosition) | 返回一个指定字符或文本字符串在字符串中第一次出现的位置,从左到右查找(忽略大小写)。 | search("sea","SeaTable",,1) => 1 |
SUBSTITUTE(sourceString, oldString, newString, __[__index]) | 将字符串中的部分字符串以新字符串替换。 | substitue("SeaTableTable", "Table", "file", 0) => Seafilefile |
T(value) | 检测给定值是否为文本,如果是文本按原样返回,如果不是文本则返回空文本。 | T("123") => "123"; T(123) => "" |
TEXT(num, __[__format_text]) | 根据指定的数值格式将数字转成文本。格式参数 format_text 可以为 number, percent, yuan, dollar, euro 中的一个。 | text(123, "dollar") = "$123.00";text(123)="123" |
TRIM(string) | 移除字符串两端的空格。 | trim(" SeaTable ") => "SeaTable" |
UPPER(string) | 将字符串转换为大写。 | upper("SeaTable") => "SEATABLE" |
VALUE(string) | 将一个代表数值的文本字符串转换成数值。 | value("123") => 123 |
描述(Description) | |
---|---|
日期 + 数字 | 返回 X 天之后的日期 |
日期 + 时长类型 | 返回 X 时长之后的日期 |
描述(Description) | |
---|---|
日期 + 数字 | 返回 X 天之前的日期 |
日期 - 时长类型 | 返回 X 时长之前的日期 |
日期 - 日期 | 两日期之间相差的天数 |
情况 | 描述(Description) |
---|---|
日期 与 日期 | 按时间先后顺序 |
函数(Function) | 描述(Description) | 例子(Examples) |
---|---|---|
DATEADD(date, count, unit) | 增加时间。最后一个参数 unit 可以为 years, months, weeks, days, hours, minutes, seconds 中的一个。 | dateAdd("2020-02-03", 2, "years") = 2022-02-03; dateAdd("2020-02-03 08:00", -2, "years") = 2018-02-03 08:00 |
DATEDIF(startDate, endDate, unit) | 计算两个日期之间相隔的秒数、天数、月数或年数。参数 unit 可以为 S, Y, M, D, YD, YM, MD. 中的一个。 | dateDif("2020-01-01", "2020-01-02") = 86400 ;dateDif("2020-01-01", "2020-01-02", "S") = 86400 ;dateDif("2018-01-01", "2020-01-01", "Y") = 2 ;dateDif("2020-11-11", "2020-12-12", "M") = 1 ;dateDif("2019-06-01", "2020-08-15", "D") = 441 ;dateDif("2019-06-01", "2020-08-15", "YD") = 75 ;dateDif("2019-06-01", "2020-08-15", "YM") = 2 ;dateDif("2019-06-01", "2020-08-15", "MD") = 14 |
DAY(date) | 返回一个月中的第几天的数值,介于 1 到 31 之间。 | day("2020-01-03") => 3 |
DAYS(startDate, endDate) | 返回两个日期之间的天数。 | days("2020-01-01", "2020-02-03") => 33 |
EOMONTH(startDate, months) | 返回一个日期,表示指定日期之前或之后的几个月的最后一天。 | eomonth("2020-01-01", -1) = 2019-12-31;eomonth("2020-01-01", 1) = 2020-02-29 |
HOUR(date) | 返回小时数值,是一个 0 (12:00 A.M.) 到 23 (11:00 P.M.) 之间的整数。 | hour("2020-02-14 13:14:52") = 13 |
HOURS(startDate, endDate) | 返回两个日期之间的小时数。 | hours("2020-02-14 13:14", "2020-02-14 15:14") = 2 |
MINUTE(date) | 返回分钟数值,是一个 0 到 59 之间的整数。 | minute("2020-02-14 13:14:52") => 14 |
MONTH(date) | 返回月份值,是一个 1 (一月)到 12 (十二月)之间的数字。 | month("2020-02-14 13:14:52") => 2 |
MONTHS(startDate, endDate) | 返回两个日期之间的月数。 | months("2020-02-14 13:14", "2020-02-14 15:14") = 0 |
NETWORKDAYS(startDate,endDate,holiday1, __[__holiday2, ...]) | 返回两个日期之间的完整工作日数。 | networkdays("2020-01-01", "2020-01-07","2020-01-01") => 4 |
NOW() | 获取现在的时间。 | now() => 2020-02-14 13:14 |
SECOND(date) | 返回秒数值,是一个 0 到 59 之间的整数。 | second("2020-02-14 13:14:52") => 52 |
TODAY() | 获取今天的日期。 | today() => 2019-12-14 |
WEEKDAY(date, __[__weekStart]) | 返回代表一周中的第几天的数值,是一个 1 到 7 之间的整数。 | weekday("2020-01-01", "Monday") => 3 |
WEEKNUM(date, __[__weekStart]) | 返回一年中的周数。 | weeknum("2020-01-13", "Monday") = 3 |
ISOWEEKNUM(date) | 返回给定日期的一年的 ISO 周编号。 | isoweeknum("2020-01-13") = 3 |
YEAR(date) | 返回日期的年份值,一个 1900-9999 之间的数字。 | year("2020-01-01") => 2020 |
函数(Function) | 描述(Description) | 例子(Examples) |
---|---|---|
AVERAGE(number1, __[__number2, ...]) | 返回一组数的平均值。 | averge(1, 2, 3, 4, 5) => 3 |
COUNT(textOrNumber1, __[__textOrNumber2, ...]) | 计算一组数中有效数字的个数。 | count(1, '', 2, '3') => 2 |
COUNTA(textOrNumber1, __[__textOrNumber2, ...]) | 计算一组值中非空值的个数。非空值包括数字和字符串。 | counta(1, '', 2, '3' ) => 3 |
COUNTALL(textOrNumber1, __[__textOrNumber2, ...]) | 计算一组值的个数 (包括空值)。 | countall(1, '', 2, 3) => 4 |
COUNTBLANK(textOrNumber1, __[__textOrNumber2, ...]) | 计算一组值中空值的个数。 | countblank(1, '', 2, 3, '') => 2 |
COUNTLTEMS("column-name") | 计算列中的项目数。支持的列类型是多选、协作人、文件、图片列。 | countlems("图片") |
Large(number1, number2, ..., k) | 返回给定数字的第 k 个最大值。 | large(1, 2, 3, 4, 2) = 3 |
MAX(number1, __[__number2, ...]) | 返回一组数的最大值。 | max(1, 3, 4, 2, -1) => 4 |
MIN(number1, __[__number2, ...]) | 返回一组数的最小值。 | min(1, 3, 4, 2, -1) => -1 |
Small(number1, number2, ..., k) | 返回给定数字的第 k 个最小值。 | small(1, 2, 3, 4, 2) = 2 |
函数(Function) | 描述(Description) | 例子(Example) |
---|---|---|
AND(value1, __[__value2, ...]) | 检查是否所有参数均为 TRUE,如果所有参数值均为 TRUE,则返回 TRUE。 | and(1, '', 2) => false |
FALSE() | 返回逻辑值 FALSE。 | false() => false |
IF(logical, value1, value2) | 判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另一个值。 | if(1 > 2, 1, 2) |
NOT(boolean) | 对参数的逻辑值求反: 参数为 TRUE 时返回 FALSE;参数为 FALSE 时返回TRUE | not(true()) => false |
_OR(value1, __[__value2, ...]) _ | 如果任一参数值为 TRUE,即返回 TRUE;只有当所有参数值均为 FALSE 时才返回 FALSE。 | or(1, "", false()) = true |
TRUE() | 返回逻辑值 TRUE。 | true() => true |
SWITCH(logical, matcher1, value1, matcher2, value2, default) | 根据值列表求值表达式并返回与第一个匹配值对应的结果。如果没有匹配项,则返回可选默认值 | switch(INT(68/10), 6, "so so", 7, "good", 8, "nice", 9, "excellent", 10, "best", "failed") = "so so" |
XOR(value1, __[__value2, ...]) | 返回所有参数的逻辑“异或”值。 | xor(1, "", 2, "", 3) = true |
函数(Function) | 描述(Description) | 例子(Example) |
---|---|---|
Link.columnName | 返回另一个表中所链接行的“{column_name}”列的值。如果关联多个行,那么返回第一个行的“{column_name}”列的值。 | |
LOOKUP(FINDMAX("link-column-name", "column-name-for-comparison"), "column-name-in-linked-record") | 用 findMax 在被链接的记录中找出指定字段有最大值的一条记录,然后用 lookup 函数显示这个记录的某个字段。 | lookup(findmax("column1", "column2"), "column3") |
LOOKUP(FINDMIN("link-column-name", "column-name-for-comparison"), "column-name-in-linked-record") | 用 findMin 在被链接的记录中找出指定字段有最小值的一条记录,然后用 lookup 函数显示这个记录的某个字段。 | lookup(findmin("column1", "column2"), "column3") |
ROLLUP("link-column-name", "column-name-in-linked-record", summary, __[__condition]) | 返回另一个表中所链接行的归总值。参数 summary 可以为 average, concatenate, count, max, min, sum 中的一个。可选参数condition可用于过滤记录。 | rollup("column1", "column2", "average", "{column3} = 'Cleaning'") |
COUNTLINKS("link-column-name") | 计算链接记录的数量。 | countlinks("column1") |
3 *3 - 3 => 6
SUM(1, 2, 3) * 3 / 3 - 2 => 4
SUM(1, 2, 3) * 3 / 3 - {列名}
ABS(SUM(-20, -200, 3)) => 217
Last modified by seatable, 2022-08-01