数值函数

此章节提供了常见的数值处理函数,包括数学运算、统计计算等。

函数名称描述输入输出示例
SUM将数字加在一起。相当于 number1 + number2 + …number1, [number2, ...]NumberSUM(100, 200, 300) => 600
AVERAGE返回数字的平均值。number1, [number2, ...]NumberAVERAGE(100, 200, 300) => 200
MAX返回给定数字中的最大值。number1, [number2, ...]NumberMAX(100, 200, 300) => 300
MIN返回给定数字中的最小值。number1, [number2, ...]NumberMIN(100, 200, 300) => 100
ROUND根据 “precision” 给出的小数位数四舍五入该值。value, [precision]NumberROUND(1.99, 0) => 2 ROUND(16.8, -1) => 20
ROUNDUP总是向上四舍五入,即远离零。value, [precision]NumberROUNDUP(1.1, 0) => 2 ROUNDUP(-1.1, 0) => -2
ROUNDDOWN总是向下四舍五入,即朝向零。value, [precision]NumberROUNDDOWN(1.9, 0) => 1 ROUNDDOWN(-1.9, 0) => -1
CEILING返回大于或等于该值的最接近的整数倍数。value, [significance]NumberCEILING(2.49) => 3 CEILING(2.49, 1) => 2.5
FLOOR返回小于或等于该值的最接近的整数倍数。value, [significance]NumberFLOOR(2.49) => 2 FLOOR(2.49, 1) => 2.4
EVEN返回大于或等于指定值的最小偶数。valueNumberEVEN(0.1) => 2 EVEN(-0.1) => -2
ODD将正值四舍五入到最接近的奇数,将负值四舍五入到最接近的奇数。valueNumberODD(0.1) => 1 ODD(-0.1) => -1
INT返回逻辑参数为真时的number1,否则返回number2。也可用于制作嵌套IF语句。也可用于检查单元格是否为空/是否为空。valueNumberINT(1.9) => 1 INT(-1.9) => -2
ABS返回绝对值。valueNumberABS(-1) => 1
SQRT返回非负数的平方根。valueNumberSQRT(4) => 2
POWER计算指定的基数到指定的功率。valueNumberPOWER(2) => 4
EXP计算Euler数(e)到指定的功率。valueNumberEXP(0) => 1 EXP(1) => 2.718
LOG在提供的基数中计算值的对数。如果未指定,基数默认为10。value, [base=10]NumberLOG(100) => 2 LOG(1024, 2) => 10
MOD返回将第一个参数除以第二个后的余数。value, divisorNumberMOD(9, 2) => 1 MOD(9, 3) => 0
VALUE将文本字符串转换为数字。textNumberVALUE("$1,000,000") => 1000000

文本函数

在这里,您会找到有关文本处理的常用函数,如字符串操作、格式化等。

函数名称描述输入输出示例
CONCATENATE连接多种值类型参数为单一文本值。text1, [text2, ...]TextCONCATENATE("Hello ", "Teable") => Hello Teable
FIND在指定文本中查找子字符串的位置。如果未找到子字符串,则结果为 0。stringToFind, whereToSearch, [startFromPosition]NumberFIND("Teable", "Hello Teable") => 7
SEARCH在指定文本中查找子字符串的位置。如果未找到子字符串,则结果为空。与FIND函数类似,但当未找到子字符串时FIND返回0。stringToFind, whereToSearch, [startFromPosition]Text or EmptySEARCH("Teable", "Hello Teable") => 7
MID提取从指定位置开始的指定数量的子字符串。text, whereToStart, countTextMID("Hello Teable", 6, 6) => "Teable"
LEFT提取字符串开始的指定数量的字符。text, countTextLEFT("2023-09-06", 4) => "2023"
RIGHT提取字符串结束的指定数量的字符。text, countTextRIGHT("2023-09-06", 5) => "09-06"
REPLACE用替换文本替换从开始字符开始的指定数量的字符。text, whereToStart, count, replacementTextREPLACE("Hello Table", 7, 5, "Teable") => "Hello Teable"
REGEXP_REPLACE使用替换文本替换匹配正则表达式的所有子字符串。text, regular_expression, replacementTextREGEXP_REPLACE("Hello Table", "H.* ", "") => "Teable"
SUBSTITUTE用新文本替换旧文本。可以指定索引号来替换旧文本的特定出现。如果未指定索引号,则将替换旧文本的所有出现。text, oldText, newText, [index]TextSUBSTITUTE("Hello Table", "Table", "Teable") => "Hello Teable"
LOWER将字符串转为小写。textTextLOWER("Hello Teable") => "hello teable"
UPPER将字符串转为大写。textTextUPPER("Hello Teable") => "HELLO TEABLE"
REPT将字符串重复指定的次数。text, numberTextREPT("Hello!") => "Hello!Hello!Hello!"
TRIM去除字符串开始和结束的空白字符。textTextTRIM(" Hello ") => "Hello"
LEN计算字符串的字符数。textNumberLEN("Hello") => 5
T如果参数是文本,则返回该参数,否则返回空。valueText or Empty

T(“Hello”) => “Hello”

T(100) => null

ENCODE_URL_COMPONENT为构造URL或URI替换某些字符为编码等效项。不会编码以下字符:- _ . ~valueTextENCODE_URL_COMPONENT("Hello Teable") => "Hello%20Teable"

逻辑函数

逻辑函数主要涉及条件判断和逻辑运算。本章节将详细介绍如IF, AND, OR等函数的使用。

函数名称描述输入输出示例
IF如果逻辑参数为真,则返回value1,否则返回value2。还可用于制作嵌套的IF语句,以及检查单元格是否为空。logical, value1, value2String | Number | Boolean | DatetimeIF(2 > 1, "A", "B") => "A" IF(2 > 1, TRUE, FALSE) => TRUE
SWITCH根据输入的表达式,从一系列可能的值中匹配,并返回相对应的结果。如果输入的表达式与定义的模式都不匹配,则可以返回一个默认值。在许多情况下,SWITCH()可以代替嵌套的IF()公式。expression, [pattern, result]..., [default]String | Number | Boolean | DatetimeSWITCH("B", "A", "Value A", "B", "Value B", "Default Value") => "Value B"
AND如果所有参数都为真,则返回真;否则返回假。logical1, [logical2, ...]BooleanAND(1 < 2, 5 > 3) => true AND(1 < 2, 5 < 3) => false
OR如果任意一个参数为真,则返回真。logical1, [logical2, ...]BooleanOR(1 < 2, 5 < 3) => true OR(1 > 2, 5 < 3) => false
XOR如果有奇数个参数为真,则返回真。logical1, [logical2, ...]BooleanXOR(1 < 2, 5 < 3, 8 < 10) => false XOR(1 > 2, 5 < 3, 8 < 10) => true
NOT反转其参数的逻辑值。booleanBooleanNOT(1 < 2) => false NOT(1 > 2) => true
BLANK返回一个空值。-nullBLANK() => null IF(2 > 3, "Yes", BLANK()) => null
ERROR返回一个错误值。messageErrorIF(2 > 3, "Yes", ERROR("Calculation")) => "#ERROR: Calculation"
IS_ERROR如果表达式引起错误,则返回真。exprBooleanIS_ERROR(ERROR()) => true

日期函数

日期函数帮助用户处理和转换日期和时间数据。此部分涵盖了日期的增加、减少、格式化等操作。

函数名称描述输入输出示例
TODAY返回当前日期。-DatetimeTODAY() => "2023-09-08 00:00"
NOW返回当前的日期和时间。-DatetimeNOW() => "2023-09-08 16:50"
YEAR返回日期的四位数字年份。dateNumberYEAR("2023-09-08") => 2023
MONTH返回日期的月份,作为1(1月)到12(12月)之间的数字。dateNumberMONTH("2023-09-08") => 9
WEEKNUM返回年份中的周数。dateNumberWEEKNUM("2023-09-08") => 36
WEEKDAY返回周中的天数作为0到6之间的整数。您可以选择性地提供第二个参数(“星期日”或“星期一”)以在该天开始一周。date, [startDayOfWeek]NumberWEEKDAY("2023-09-08", "Monday") => 5
DAY返回日期的月份中的日期,作为1-31之间的数字。dateNumberDAY("2023-09-08") => 8
HOUR返回日期的小时数,作为0(12:00am)到23(11:00pm)之间的数字。dateNumberHOUR("2023-09-08 16:50") => 16
MINUTE返回日期的分钟,作为0到59之间的整数。dateNumberMINUTE("2023-09-08 16:50") => 50
SECOND返回日期的秒数,作为0到59之间的整数。dateNumberSECOND("2023-09-08 16:50:30") => 30
FROMNOW计算当前日期与另一个日期之间的天数。date, unitNumberFROMNOW({Date}, "day") => 25
TONOW计算当前日期与另一个日期之间的天数。date, unitNumberTONOW({Date}, "day") => 25
DATETIME_DIFF返回指定单位的日期时间差异。默认单位是秒。(请参阅单位说明符列表。)date1, date2, [unit]NumberDATETIME_DIFF("2022-08-01", "2023-09-08", "day") => 403
WORKDAY返回到开始日期的工作日,不包括指定的假期date, count, [holidayStr]DatetimeWORKDAY("2023-09-08", 200) => "2024-06-14 00:00:00"
WORKDAY_DIFF返回日期1和日期2之间的工作日数。工作日不包括周末和可选的假日列表,格式为ISO格式的日期的逗号分隔字符串。date1, date2, [holidayStr]NumberWORKDAY_DIFF("2023-06-18", "2023-10-01") => 75
IS_SAME比较两个日期到一个单位并确定它们是否相同。如果是,则返回true,否则返回false。date1, date2, [unit]BooleanIS_SAME("2023-09-08", "2023-09-10") => false
IS_AFTER确定date1是否晚于date2。如果是,则返回true,否则返回false。date1, date2, [unit]BooleanIS_AFTER("2023-09-10", "2023-09-08") => true IS_AFTER("2023-09-10", "2023-09-08", "month") => false

数组和其他函数

除了上述分类的函数,本章节还会介绍一些处理数组或其他特定数据类型的函数。

函数名称描述输入输出示例
COUNTALL返回所有元素的数量,包括文本和空白。value1, [value2, ...]NumberCOUNTALL(100, 200, "", "Teable", TRUE()) => 5
COUNTA返回非空值的数量。此函数既计算数字又计算文本值。value1, [value2, ...]NumberCOUNTA(100, 200, 300, "", "Teable", TRUE) => 4
COUNT返回数字项的数量。value1, [value2, ...]NumberCOUNT(100, 200, 300, "", "Teable", TRUE) => 3
ARRAY_JOIN使用分隔符将rollup项的数组连接成一个字符串。array, [separator]StringARRAY_JOIN(["Tom", "Jerry", "Mike"], "; ") => "Tom; Jerry; Mike"
ARRAY_UNIQUE返回数组中仅有的唯一项。arrayArrayARRAY_UNIQUE([1, 2, 3, 2, 1]) => [1, 2, 3]
ARRAY_FLATTEN通过删除任何数组嵌套来展平数组。所有项目成为单个数组的元素。arrayArrayARRAY_FLATTEN([1, 2, " ", 3, true], ["ABC"]) => [1, 2, 3, " ", true, "ABC"]
ARRAY_COMPACT从数组中删除空字符串和null值。保留”false”和包含一个或多个空白字符的字符串。arrayArrayARRAY_COMPACT([1, 2, 3, "", null, "ABC"]) => [1, 2, 3, "ABC"]
RECORD_ID返回当前记录的ID。-StringRECORD_ID() => "recxxxxxx"