一、功能介绍
飞书多维表格强大的公式字段为你提供了丰富的函数公式,帮助你高效处理数据。知道你看到公式会头疼,多维表格专门为你提供 2 种计算模式——简易模式 & 高级编辑器,适应从小白到大神的全部计算需求。
简易模式
数学小白看这里!简易模式能够满足日常加减乘除需求。
千万别再手动计算任务截止时间了!用公式字段的简易模式用开始日期 + 所需天数,一键算出任务截止时间。没错,日期也能被计算,这是多维表格特别为你提供的贴心设计。(往下看了解如何计算更多字段类型)
高级编辑器
进阶玩家看这里!用高级编辑器来玩转函数(相当于电子表格中的函数公式)。
比如,你想快速计算三列数字的和,只需像使用电子表格一样输入 SUM,然后依次点选多列字段标题并用逗号隔开。一键确认后,整列的总和数据都会自动填好。
💡 下滑至第四部分查看更多高级函数。
二、飞书多维表格的公式亮点
与电子表格公式的相同点
飞书多维表格的公式字段保留了你熟悉的电子表格公式语法。你可以尽情使用熟悉的函数操作。
- •用 SUM(1, 2, 3) 求出数据总和为 6
- •用Today() + 1 展现当天日期后一天的日期
- •用IF(2 > 1, "真", "假") 来写 IF 表达式,基于“真”或“假”得到不同的值
此外,你也可以为公式字段支持设置数字格式,用不同形式展示数据。
与电子表格公式的不同点
- 1.每种字段类型都可以参与计算
不只有数字能被计算。公式字段就是你的学霸助手,帮你解决各种计算难题。
- •附件数量数不清?用 COUNTA 函数计算附件、多选标签和人员的个数
- •学员课时算不准?让复选框字段成为 IF 函数中的条件,根据打勾情况显示不同结果。
- •任务耗时容易记错?用任务结束时间减去开始时间,并将数字格式设置为整数,算出每项任务耗时
- 2.多维表格支持链式调用语法
如果你用 Excel 写过复杂公式,一定明白过多的括号嵌套那那那那么长 (((((( )))))) 会让公式看起来非常繁琐。飞书多维表格为你提供链式调用语法,通过全新语法让公式像锁链一样串联,简洁清晰不出错。
假设现在你需要对一个数字列求绝对值再求和,然后四舍五入,你可能会用到 Excel 中的 ABS、SUM 和 ROUND 函数来写出这个公式:
- •ROUND(SUM(ABS(数字列)), 1)
而使用链式调用语法,我们可以写成:
- •数字列.ABS().SUM().ROUND(1)
每段函数以点相连,能够第一时间看出谁丢了或多了括号,再也不用数括号了!
三、手把手带你使用公式字段
新手入门:计算任务耗时
学会使用公式字段总共分几步?
第一步:新建一个公式字段/列,设置数字格式为整数。
第二步:双击单元格,点击面板左下方进入简易模式,用结束时间减去开始时间,得出任务耗时天数。
挑战进阶:快捷日期计算
成为进阶玩家还是只需两步:
第一步:新建一个公式字段/列。
第二步:在数据引用中选择开始时间字段/列,然后输入 + 1,即可显示开始时间后一天的日期。
公式大师:订单管理,几个公式全搞定
你离成为大神,只有四步之遥。
第一步:新建一个公式字段/列。
第二步:在数据引用中选择下单时间字段/列,然后输入 +n (n 代表发货的天数),就能自动计算发货截止日期。下图例子中,发货时间为 14 天内,所以公式使用了下单时间+14。
第三步:再建一列公式字段,使用 ROUND 函数,用 14天内发货 字段减去当天日期 TODAY(),自动计算剩余发货时间。
第四步:如果想自动统计是否已超过发货时间,使用 IF 函数,选择剩余处理天数 > 0,则为未超时,否则为已超时。
四、飞书多维表格支持哪些函数?
多维表格现为你提供日期、数字、逻辑和文本函数。在以下列表查找你需要的函数。
日期函数
公式函数 | 示例 |
TODAY:显示当天日期。 | TODAY() |
DATE:将输入的年月日转换为日期格式。 | DATE(1969, 7, 20) 年:日期的年份部分。 月:日期的月份部分。 日:日期的日部分。 |
NOW:当前日期和时间。 | NOW() |
DATEDIF:两个日期之间的天数、月数或年数。 | 示例:DATEDIF("1969-7-16", "1969-7-24", "Y") 起始日期:计算中要使用的开始日期。必须是以下一种:对包含日期的单元格的引用、返回日期类型的函数、或数字。 结束日期:计算中要使用的结束日期。必须是以下一种:对包含日期的单元格的引用、返回日期类型的函数、或数字。 单位:某种时间单位的缩写字符串。例如,“M” 代表月。有效值包括:“Y”、“M”、“D”、“MD”、“YM”、“YD”。 |
DAYS:两个日期之间的天数。 | 示例:DAYS("1969-7-24", "1969-7-16") 结束日期:日期范围的结束日期。 起始日期:日期范围的起始日期。 |
YEAR:指定日期所在的年份。 | 示例:YEAR("1969-7-20") 日期值:要从中提取年份的日期。 |
MONTH:特定日期所在的月份。 | 示例:MONTH("1969-7-20") 日期值:要从中提取月份的日期。 |
DAY:以数字格式显示特定日期所在日的数字。 | 示例:DAY("1969-7-20") 日期值:要从中提取具体几号的日期。 |
HOUR:以数字格式显示特定时间的小时部分。 | 示例:HOUR("11:40:59") 时间:用于计算小时部分的时间。 |
MINUTE:以数字格式显示特定时间的分钟部分。 | 示例:MINUTE("11:40:59") 时间:用于计算分钟部分的时间。 |
SECOND:以数字格式显示特定时间的秒钟部分。 | 示例:SECOND("11:40:59") 时间:用于计算秒钟部分的时间。 |
NETWORKDAYS:所提供的两个日期之间的净工作日天数。 | 示例:NETWORKDAYS("1969-7-16", "1969-7-24", LIST("1969-7-22")) 起始日期:用于计算净工作日天数的时间段开始日期。 结束日期:用于计算净工作日天数的时间段结束日期。 节假日:默认双休日,加上列入该参数的范围或数组常量。 |
WEEKDAY:用数字来展示指定日期是星期几。 | 示例:WEEKDAY("1969-7-20", 1) 日期值:要为其确定星期几的日期。必须是以下一种:对包含日期的单元格的引用、返回日期类型的函数或者数字。 类型:表示一周开始之日的数字。若始于星期日则为 1,若适于星期一则为2,依此类推。 |
WEEKNUM:用数字来展示指定日期在当年的第几周。 | 示例:WEEKNUM("1969-7-20", 1) 日期:要确定其所在周序号的日期。必须是以下一种:对包含日期的单元格的引用、返回日期类型的函数或者数字。 类型:表示一周开始之日的数字。若始于星期日则为 1,若适于星期一则为2,依此类推。 |
WORKDAY:根据指定的工作日天数来计算结束日期。 | 示例:WORKDAY(DATE(1969,7,20), 4, LIST("1969-7-17", "1969-7-19")) 起始日期:计算中要使用的开始日期。必须是以下一种:对包含日期的单元格的引用、返回日期类型的函数或者数字。 天数:从起始日期起往“以后”方向统计的工作日天数。若为负值,则表示往“以前”方向计数。 节假日:默认双休日,加上列入该参数的范围或数组常量。 |
数字函数
SUM:计算一组数值的和,或单元格的总和。 | 示例:SUM(2, 101) 括号中的数值 1:要相加的第一个数值或范围。 括号中的数值 2:要与数值 1 相加的其他数值或范围。 |
AVERAGE:求一组数据的算术平均值,对文本忽略不计。 | 示例:AVERAGE(2, 100) 数值 1:计算平均值时用到的第一个数值或范围。 数值 2:计算平均值时用到的其他数值或范围。 |
COUNTA:求一组数据中数值的个数。 | 示例:COUNTA(附件列) 数值 1:计数时要检查的第一个值或范围。 数值 2:计数时要检查的其他值或范围。 |
ROUNDDOWN:将数值舍入到指定的位数,向 0 进行向下舍入。 | 示例:ROUNDDOWN(99.44, 1) 数值:要舍入的数值。 位数:代表舍入的位数,1 代表小数点后一位,2 代表小数点后二位,-1 代表个位数。 |
ROUND:将数值的指定位数以下进行四舍五入。 | 示例:ROUND(99.44, 1) 数值:要四舍五入的数值 位数:代表舍入的位数,1 代表小数点后一位,2 代表小数点后二位,-1 代表个位数。 |
ROUNDUP:将数值舍入到指定的位数,向 0 进行向上舍入。 | 示例:ROUNDUP(99.45, 1) 数值:要舍入的数值 位数:代表舍入的位数,1 代表小数点后一位,2 代表小数点后二位,-1 代表个位数。 |
MAX:展示数值数据集中的最大值。 | 示例:MAX(2, 42) 数值 1:计算最大值时所用的第一个值或范围。 数值 2:计算最大值时所用的其他值或范围。 |
MIN:展示数值数据集中的最小值。 | 示例:MIN(2, 5) 数值 1:计算最小值时所用的第一个值或范围。 数值 2:计算最小值时所用的其他值或范围。 |
ABS:展示数值的绝对值。 | 示例:ABS(-2) 数值:要返回其绝对值的数值。 |
逻辑函数
IF:当逻辑表达式的值为 TRUE 时返回一个值,当其为 FALSE 时返回另一个值。 | 示例:IF("a" = "b", "结果相等", "结果不相等") 逻辑表达式:一个表达式或对包含表达式的单元格的引用,该表达式代表某种逻辑值,即 TRUE 或 FALSE。 为 TRUE 时的返回值:当“逻辑表达式”为 TRUE 时的返回值。 为FALSE 时的返回值:当“逻辑表达式”为 FALSE 时的返回值。 |
AND:当提供的所有参数均是逻辑为真时返回 TRUE;如果提供的参数中任何一个的逻辑为假则返回 FALSE。 | 示例:AND(1=1, 1=2) 逻辑表达式 1:一个表达式或对包含表达式的单元格的引用,该表达式代表某种逻辑值(即 TRUE 或 FALSE)或者可以强制转换为逻辑值。 逻辑表达式 2:更多表示逻辑值的表达式。 |
OR:只要提供的参数中任何一个的逻辑为真就返回 TRUE,如果提供的所有参数均是逻辑为假则返回 FALSE。 | 示例:OR(1=2, 1=1) 逻辑表达式1:一个表达式或对包含表达式的单元格的引用,该表达式代表某种逻辑值(即 TRUE 或 FALSE)或者可以强制转换为逻辑值。 逻辑表达式2:更多计算结果为逻辑值的表达式。 |
NOT:对其参数的逻辑求反。 | 示例:NOT(TRUE) 逻辑函数:计算结果为 TRUE 或 FALSE 的任何值或表达式。 |
TRUE:返回逻辑值 TRUE。 | 示例:TRUE() |
FALSE:返回逻辑值 FALSE。 | 示例:FALSE() |
IFERROR:如果第一个参数不是错误值,则返回第一个参数;否则,当第二个参数存在时则返回第二个参数,第二个参数不存在则返回空白值。 | 示例:IFERROR("没有错误", "错误") 值:在“值”本身不为错误值的情况下要返回的值。 错误情况的返回值:在“值”为错误值情况下的函数返回值。 |
ISERROR:检查某个值是否为错误值。 | 示例:ISERROR(A2) 值:要验证其是否为错误类型的值。 |
文本函数
示例:MID("多维表格", 1, 2) 字符串:要从中选取子串的字符串。 开始位置:要从“字符串”中开始提取的位置。“字符串”中第一个字符的索引为 1。 提取长度:需要提取的长度。 | |
示例:LEFT("多维表格", 2) 字符串:要返回其左侧部分的字符串。 字符数:要从“字符串”左侧返回的字符数。 | |
示例:RIGHT("多维表格", 2) 字符串:要返回其右侧部分的字符串。 字符数:要从“字符串”右侧返回的字符数。 | |
示例:LEN("多维表格") 文本:要返回其长度的字符串。 | |
示例:TRIM(" lorem ipsum") 文本:要移除空格的文本或对包含要移除空格的文本的单元格引用 | |
示例:UPPER("lorem ipsum") 文本:要转换为大写的字符串。 | |
示例:LOWER("LOREM IPSUM") 文本:要转换为小写的字符串。 | |
示例:SUBSTITUTE("abcdefg", "cde", "xyz", 1) 要搜索的文本:要在其中进行搜索和替换的文本。 搜索字符串:要在“要搜索的文本”中搜索的字符串。 替换内容:要替换“搜索内容”的字符串。 替换次数:“要搜索的文本”中要替换为“替换内容”的“搜索内容”实例个数。默认情况下,找到的所有“搜索内容”都会被替换,但如果指定了“替换次数”,则仅替换指定个数的“搜索内容”。 | |
示例:REPLACE("abcdefg", 1, 6, "xyz") 文本:其中一部分将被替换的文本。 位置:替换的开始位置(起始索引编号为 1)。 长度:文本中要替换的字符数。 新文本:要插入到原有文本中的文本。 | |
示例:LIST(1,2,3) 值:可以是值,也可以是其他列表。 |