公式函数和运算符汇总
分类
我们将函数和运算符分为了以下六类,并做了详细的介绍。
下方表格内运算符/函数的一栏展示了函数的标准表达式,其中用英文代替了某些参数,参数对应解释如下:
string:表示字符串参数 text:表示文本型参数 logical:表示逻辑参数 number:表示数字型参数 date:表示日期型参数 item:表示数组参数
其中 “[ ]” 符号内的参数表示可选参数,即使用函数时可以不填写该参数。在数组函数中该符号表示一组数据。
了解运算符和函数的时候,可以结合说明和例子一起看会更加浅显易懂,举个例子中的 “ => ” 符号表示该公式的输出结果。
公式运算符
类别 | 名称 | 句式 | 说明 |
---|---|---|---|
数值 | 加号 | + | 将两个数值相加。 |
数值 | 减号 | - | 将两个数值相减。 |
数值 | 乘号 | * | 两个数值相乘。 |
数值 | 除号 | / | 两个数值相除。 |
文本 | 连接符 | & | 将两个文本值拼接在一起。 |
逻辑 | 大于 | > | 判断第一个数值是否大于第二个数值。 |
逻辑 | 大于等于 | >= | 判断第一个数值是否大于等于第二个数值。 |
逻辑 | 小于 | < | 判断第一个数值是否小于第二个数值。 |
逻辑 | 小于等于 | <= | 判断第一个数值是否小于等于第二个数值。 |
逻辑 | 等于 | = | 判断第一个数值是否等于第二个数值。 |
逻辑 | 不等于 | != | 判断第一个数值是否不等于第二个数值。 |
逻辑 | 与运算 | && | 表示两个逻辑条件的与运算。 |
逻辑 | 或运算 | || | 表示两个逻辑条件的或运算。 |
数值函数
名称 | 句式 | 说明 |
---|---|---|
SUM() | SUM(number1, [number2, …]) | 将所有数值相加。 |
AVERAGE() | AVERAGE(number1, [number2, …]) | 返回多个数值的算术平均数。 |
MAX() | MAX(number1, [number2, …]) | 返回多个数值中最大的数值。 |
MIN() | MIN(number1, [number2, …]) | 返回多个数值中最小的数值。 |
ROUND() | ROUND(value, precision) | 按指定的位数对数值进行四舍五入。 |
ROUNDUP() | ROUNDUP(value, precision) | 将数值朝绝对值增大方向舍入。 |
ROUNDDOWN() | ROUNDDOWN(value, precision) | 将数值朝绝对值减小方向舍入。 |
CEILING() | CEILING(value, [significance]) | 将数值向上舍入为最接近的指定基数的倍数。 |
FLOOR() | FLOOR(value, [significance]) | 将数值向下舍入为最接近的指定基数的倍数。 |
EVEN() | EVEN(value) | 将数值朝绝对值增大方向舍入为最接近的偶数。 |
ODD() | ODD(value) | 将数值朝绝对值增大方向舍入为最接近的奇数。 |
INT() | INT(value) | 将数值向下舍入为最接近的整数。 |
ABS() | ABS(value) | 取数值的绝对值。 |
SQRT() | SQRT(value) | 计算数值的算术平方根。 |
MOD() | MOD(value, divisor) | 两数值相除取余数。 |
POWER() | POWER(base, power) | 计算数值(基数)的乘幂 |
EXP() | EXP(power) | 计算 e 的乘幂。 |
LOG() | LOG(number, base=10) | 以指定基数为底,计算数值的对数。 |
VALUE() | VALUE(text) | 将文本值转换为数值。 |
文本函数
名称 | 句式 | 说明 |
---|---|---|
CONCATENATE() | CONCATENATE(text1, [text2, …]) | 将多个文本值串联成单个文本值。(其效果等同于 &) |
FIND() | FIND(stringToFind, whereToSearch,[startFromPosition]) | 查找特定的文本在内容中第一次出现的位置。 |
SEARCH() | SEARCH(stringToFind, whereToSearch,[startFromPosition]) | 搜索特定的文本在内容中第一次出现的位置。 |
MID() | MID(string, whereToStart, count) | 从内容中特定位置提取一段固定长度的文本。 |
REPLACE() | REPLACE(string, start_character, number_of_characters, replacement) | 将内容中特定位置的一段文本替换为新文本。 |
SUBSTITUTE() | SUBSTITUTE(string, old_text, new_text, [index]) | 将文本特定的内容全部替换为新内容。 |
LEN() | LEN(string) | 统计一段文本的字符长度。 |
LEFT() | LEFT(string, howMany) | 从文本的开头提取出指定个数的字符。 |
RIGHT() | RIGHT(string, howMany) | 从文本的末尾提取出指定个数的字符。 |
LOWER() | LOWER(string) | 将所有大写字母全部转换为小写字母。 |
UPPER() | UPPER(string) | 将所有小写字母全部转换为大写字母。 |
REPT() | REPT(string, number) | 根据指定次数复制文本内容。 |
T() | T(value) | 判定内容是否为文本值。 |
TRIM() | TRIM(string) | 清除文本开头和结尾的空格。 |
ENCODE_URL_COMPONENT() | ENCODE_URL_COMPONENT(component_string) | 把文本编码为 URL 的格式。 |
逻辑函数
名称 | 句式 | 说明 |
---|---|---|
IF() | IF(logical, value1, value2) | 判断是否满足某个条件,如果满足则返回第一个值,如果不满足则返回第二个值。 |
SWITCH() | SWITCH(expression, [pattern, result… ],[default]) | 本函数为多分支选择函数,它由表达式 + 多个(分支 + 返回值)组成,如果表达式等于某个分支值,则函数输出该分支对应的返回值。 |
TRUE() | TRUE() | 返回逻辑值真( true )。 |
FALSE() | FALSE() | 返回逻辑值假( false )。 |
AND() | AND(logical1, [logical2, …]) | 如果所有参数均为真( true ),则返回真( true ),否则返回假( false )。 |
OR() | OR(logical1, [logical2, …]) | 如果任何一个参数为真( true ),则返回真( true ),否则返回假( false )。 |
XOR() | XOR(logical1, [logical2, …]) | 如果奇数个参数为真( true ),则返回真( true ),否则返回假( false )。 |
BLANK() | BLANK() | 表示一个空值。 |
ERROR() | ERROR(message) | 在单元格内显示错误提示和信息。 |
IS_ERROR() | IS_ERROR(expression) | 检查一个表达式是否运行错误,如果错误则返回真( true )。 |
NOT() | NOT(logical) | 将逻辑条件反转。 |
日期函数
名称 | 句式 | 说明 |
---|---|---|
TODAY() | TODAY() | 返回今天的日期(年月日),但不会精确到时分秒(默认为 00:00:00 )。如果想要精确到时分秒,请使用函数 NOW() 。 |
NOW() | NOW() | 返回今天的日期和时间,会精确到时分秒。 |
TONOW() | TONOW(date, units) | 返回当前日期和指定日期之间的差值(无正负)。 |
FROMNOW() | FROMNOW(date, units) | 返回当前日期和指定日期之间的差值(无正负)。 |
DATEADD() | DATEADD(date, count, units) | 为指定的日期增加固定的时间间隔。 |
DATETIME_DIFF() | DATETIME_DIFF(date1, date2, units) | 返回两个日期之间的差值(有正负),即日期 1 减去日期 2 。 |
WORKDAY() | WORKDAY(startDate, numDays, [holidays]) | 返回起始日期若干个工作日之后的日期。 |
WORKDAY_DIFF() | WORKDAY_DIFF(startDate, endDate, [holidays]) | 统计两个日期之间相隔多少个工作日(有正负)。 |
IS_AFTER() | IS_AFTER(date1, date2) | 比较日期 1 是否晚于日期 2 ,如果晚于则返回真( true ),否则返回假( false )。 |
IS_BEFORE() | IS_BEFORE(date1, date2) | 比较日期 1 是否早于日期 2 ,如果早于则返回真( true ),否则返回假( false )。 |
IS_SAME() | IS_SAME(date1, date2, [units]) | 比较日期 1 是否等于日期 2 ,如果等于则返回真( true ),否则返回假( false )。 |
DATETIME_FORMAT() | DATETIME_FORMAT(date, specified_output_format) | 将日期以自定义的形式格式化为文本。 |
DATETIME_PARSE() | DATETIME_PARSE(date, [input_format]) | 将文本转换为结构化日期类型。 |
DATESTR() | DATESTR(date) | 将日期格式化为 “年-月-日” 形式的文本(固定格式为 YYYY-MM-DD ) |
TIMESTR() | TIMESTR(date) | 将日期格式化为 ”时:分:秒” 形式的文本 (固定格式为 HH:mm:ss ) |
YEAR() | YEAR(date) | 返回指定日期对应的四位数年份。 |
MONTH() | MONTH(date) | 返回指定日期对应的月份。 |
WEEKDAY() | WEEKDAY(date, [startDayOfWeek]) | 返回指定日期对应一周中的星期几。 |
WEEKNUM() | WEEKNUM(date, [startDayOfWeek]) | 返回指定日期对应为一年中的第几个星期。 |
DAY() | DAY(date) | 返回指定日期属于当月的第几号,输出格式为 1 - 31 之间的整数。 |
HOUR() | HOUR(date) | 返回指定日期的对应的时刻,输出格式为 0(12:00 am)到 23(11:00 pm)之间的整数。 |
MINUTE() | MINUTE(date) | 返回指定日期对应的分钟数,输出格式为 0 到 59 之间的整数。 |
SECOND() | SECOND(date) | 返回指定日期的秒数,输出格式为 0 到 59 之间的整数。 |
SET_LOCALE() | SET_LOCALE(date, locale_modifier) | 为指定日期时间设置特定的语言环境。 |
SET_TIMEZONE() | SET_LOCALE(date, locale_modifier) | 为指定日期设置特定的时区。 |
CREATED_TIME() | CREATED_TIME() | 返回创建该条记录的日期和时间。 |
LAST_MODIFIED_TIME() | LAST_MODIFIED_TIME([{field1},{field2}, …]) | 返回每一行的单元格中进行最后一次修改的时间。 |
数组和其他函数
名称 | 句式 | 说明 |
---|---|---|
COUNT() | COUNT(number1, [number2, ….]) | 统计「数字」类型值的数量。 |
COUNTA() | COUNTA(textOrNumber1, [textOrNumber2, …]) | 统计非空值的数量。 |
COUNTIF() | COUNTIF(values, keyword, operation) | 在 values 中统计 keyword 出现的次数。 |
COUNTALL() | COUNTALL(textOrNumber1, [textOrNumber2, …]) | 统计所有值的数量,包括空值。 |
ARRAYCOMPACT() | ARRAYCOMPACT([item1, item2, item3]) | 从数组中删除空字符串和空值。 |
ARRAYFLATTEN() | ARRAYFLATTEN([item1, item2, item3]) | 通过删除任何数组嵌套来平铺数组。 所有数据都成为同一个数组的元素。 |
ARRAYJOIN() | ARRAYJOIN([item1, item2, item3], separator) | 将表汇总的数组以特定的分隔符的连接。 |
ARRAYUNIQUE() | ARRAYUNIQUE([item1, item2, item3]) | 仅返回数组中的唯一项。 |
RECORD_ID() | RECORD_ID() | 返回当前记录的 ID。 |