-
Notifications
You must be signed in to change notification settings - Fork 7
/
howtofilter.json
17 lines (17 loc) · 39.7 KB
/
howtofilter.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[
{
"title": "Feishu Open Platform",
"url": "https://open.feishu.cn/document/server-docs/docs/bitable-v1/app-table-record/filter",
"html": "Server APIDocsBaserecordRecord filter development guide\nRecord filter development guide\nLast updated on 2023-04-18\n\nIn the ListRecord, you can filter out the records you need through the query parameter filter.The filtered expression supports the formula grammar writing of multi-dimensional tables, which can be combined by AND or OR.\n\nThe grammar of the expression is currentValue.[field name]. Due to the limitation of the URL support character set, the request parameter needs to be encoded using URL before transmission. For example, the \"+\" number needs to be encoded as \"% 2B\".\n\nCommon Filter formula\nLogical Name\tformula\nis empty\tCurrentValue.[order No.] =\"\"\nis not empty\tNOT(CurrentValue.[order No.] =\"\")\nequal\tCurrentValue.[order No.] = \"003\"\nNot equal to\tCurrentValue.[order No.] != \"003\"\nGreater than or equal to\tCurrentValue.[price] >= 10.5\nLess than or equal to\tCurrentValue.[order No.] <= \"003\"\nInclude\tCurrentValue.[order No.].contains(\"003\")\nNot Include\tNOT(CurrentValue.[order No.].contains(\"003\"))\nCommon logical formula\n\nAnd\n\nAND (CurrentValue. [Order Number] .contains (\"004\"), CurrentValue. [Order Date] = TODAY ())\n\nOr\n\nOR (CurrentValue. [Order Number] .contains (\"004\"), CurrentValue. [Order Number] .contains (\"009\")\n\nCommon date formula\n\nToday\n\nCurrentValue. [Order Date] = TODAY ()\n\nYesterday\n\nCurrentValue. [Order Date] = TODAY () -1\n\nTomorrow\n\nCurrentValue. [Order Date] = TODAY () % 2B1\n\nThis week\n\nAND (TODAY () - (WEEKDAY (TODAY (), 2) -1) < = CurrentValue. [Order Date], CurrentValue. [Order Date] < = TODAY () % 2B (7-WEEKDAY (TODAY (), 2))\n\nThis month\n\nAND(DATE(YEAR(TODAY()),MONTH(TODAY()),1)<=CurrentValue.[Order Date], CurrentValue.[Order Date]<=DATE(YEAR(TODAY()),MONTH(TODAY())%2B1,0))\n\nPrevious:List form fields\nNext:Get records"
},
{
"title": "多维表格函数词典",
"url": "https://www.feishu.cn/hc/zh-CN/articles/687638790379-%E5%A4%9A%E7%BB%B4%E8%A1%A8%E6%A0%BC%E5%87%BD%E6%95%B0%E8%AF%8D%E5%85%B8",
"html": "功能概览\n多维表格\n公式与函数\n基础介绍\n多维表格函数词典\n多维表格函数词典\n本文阅读时长:36 分钟\n日期函数\n\n公式函数\n\t\n参数\n\t\n示例\n\n\nDATE(年, 月, 日)\n将代表年、月、日的数字转换为日期\n\t\n年:代表年份的数字,可以手动输入或是一个字段\n月:代表月份的数字,可以手动输入或是一个字段\n日:代表日的数字,可以手动输入或是一个字段\n\t\nDATE(2000,01,01)=2000/01/01\n\n\n\nDATEDIF(起始日期, 结束日期, 单位)\n返回起始日期和结束日期之间的天数、月数或年数\n\n\t\n起始日期:用于计算的开始日期,可以是日期字段,或格式为日期类型的数字、公式字段等\n结束日期:用于计算的结束日期,可以是日期字段或格式为日期类型的数字、公式字段等\n单位:时间单位的缩写字符串。例如,Y 代表年、M 代表月、D 代表天 \n\t\nDATEDIF(\"2000-01-01\",\"2000-01-08\",\"D\") = 7\n\n\n\nDAY(日期值)\n以数字格式返回特定日期的日\n\t\n日期值:要从中提取具体几号的日期。 \n\n\t\nDAY(\"2000-01-03\") = 3\n\n\n\nDAYS(结束日期, 起始日期)\n返回起始日期与结束日期之间的天数\n\t\n结束日期:用于计算的结束日期,可以是日期字段或格式为日期类型的数字、公式字段等\n起始日期:用于计算的开始日期,可以是日期字段或格式为日期类型的数字、公式字段等\n\t\nDAYS(\"2000-01-08\",\"2000-01-01\") = 7\n\n\n\nEOMONTH(开始日期,月数)\n返回与开始日期相隔数月的某个月份最后一天的序列号\n\t\n开始日期:从哪一天开始计算\n月数:正值将生成未来日期;负值将生成过去日期\n\t\nEOMONTH(\"2000-1-1\", 1) = 2000/2/28\nEOMONTH(\"2000-3-1\", -1) = 2000/02/29\n\n\nHOUR(时间)\n以数字格式返回特定时间的小时部分\n\t\n时间:用于计算的时间\n\t\nHOUR(\"11:40:59\")=11\n\n\n\nMINUTE(时间)\n以数字格式返回特定时间的分钟部分\n\t\n时间:用于计算的时间 \n\n\t\nMINUTE(\"11:40:59\")=40\n\n\n\nMONTH(日期值)\n以数字格式返回特定日期对应的月份\n\t\n日期值:要从中提取月份的日期\n\t\nMONTH(\"2000-12-01\")=12\n\n\n\nNETWORKDAYS(起始日期, 结束日期, [节假日])\n返回起始日期和结束日期之间的净工作日天数\n\t\n起始日期:用于计算的开始日期,可以是日期字段或格式为日期类型的数字、公式字段等 \n结束日期:用于计算的结束日期,可以是日期字段或格式为日期类型的数字、公式字段等 \n节假日:默认为双休日,也可加上列入该参数的日期范围或日期字段\n查看详情:使用 NETWORKDAYS 函数\n\t\nNETWORKDAYS(\"2000-01-01\",\"2000-01-12\")=8\n\n\n\nNOW()\n返回当前日期和时间\n\t\n/\n\n\t\nNOW()=2000/01/01 00:00\n\n\nSECOND(时间)\n以数字格式返回特定时间的秒钟部分\n\t\n时间:用于计算的时间\n\n\t\nSECOND(\"11:40:59\")=59\n\n\nTODAY()\n返回当天的日期\n\t\n/\n\t\nTODAY()=2000/01/01 \n\n\nWEEKDAY(日期值, [类型])\n返回目标日期在当周的第几天,结果以数字形式显示\n\n\n\t\n日期值:需要返回星期的目标日期,可以是日期字段或格式为日期类型的数字、公式字段等\n类型:表示一周的第 1 天从星期几开始,若为 1 则该周的第 1 天从星期天开始,若为 2 则从星期一开始,默认为 1\n\t\nWEEKDAY(\"2000-01-01\")=7\n\n\n\n\nWEEKNUM(日期, [类型])\n返回目标日期在当前年份的第几周\n\t\n日期:需要返回所在周序号的目标日期,可以是日期字段或格式为日期类型的数字、公式字段等\n类型:表示一周的第 1 天从星期几开始,若为 1 则该周的第 1 天从星期天开始,若为 2 则从星期一开始,默认为 1\n\t\nWEEKNUM(\"2000-01-01\")=1\n\n\n\n\nWORKDAY(起始日期, 天数, [节假日])\n指定起始日期和所需要的工作日天数,返回结束日期\n\t\n起始日期:要计算的开始日期,可以是格式为日期类型的函数或数字字段等\n天数:从起始日期开始需要的工作天数\n节假日:默认双休日,加上列入该参数的范围或数组常量\n\t\nWORKDAY(\"2000/01/01\",7)=2000/01/11\n\n\nYEAR(日期值)\n以数字格式返回给定日期所指定的年份\n\t\n日期值:需要从中提取年份的日期\n\t\nYEAR(\"2000-01-01\") = 2000\n\n\n\n\n逻辑函数\n\n公式函数\n\t\n参数\n\t\n示例\n\n\nAND(逻辑表达式1, [逻辑表达式2, ...])\n当所有参数均为逻辑 TRUE 时,返回 TRUE;当参数中任何一个为逻辑 FALSE,返回 FALSE\n\t\n逻辑表达式 1:逻辑表达式或对包含表达式字段的引用,代表逻辑值(即 TRUE 或 FALSE )\n逻辑表达式 2:更多表示逻辑值的表达式\n\t\nAND(1=1,1=2)=false\n\n\n\nCONTAIN(查找范围, [要查找的值, ...])\n判断查找范围是否包含要查找的内容\n注:本函数不支持文本包含匹配,如有需要请使用 CONTAINTEXT 函数\n\t\n查找范围:查找范围,可为数值或数组\n要查找的值:待查找的数值或列表\n查看详情:使用 CONTAIN 函数\n\t\n【场景】如果销售地为日本或韩国,则标记为亚太市场\n【示例】IF(CONTAIN([销售地],\"韩国\",\"日本\"),\"亚太市场\",\"其他\")\n\n\n\nFALSE()\n返回逻辑值 FALSE\n\t\n/\n\t\nFALSE()=false\n\n\n数据范围.FILTER(筛选条件)\n筛选出符合条件的记录(需指定目标字段)\n\n\t\n数据范围:一列或一组数据,可选择[数据表]或[数据表].[字段]\n筛选条件:对目标范围内的数据进行筛选的条件\n注:引用数据时,需要通过 CurrentValue 逐一判断\n查看详情:使用 FILTER 函数统计数据\n\t\n【场景】:查找[销售总表]中,每位成员的销售额\n【示例】:[销售总表].FILTER(CurrentValue.[姓名]=[姓名]).[销售额]\n\n\nFIRST(集合)\n返回一组数据或集合中的第一个值\n\t\n集合:一组数据或者是多维表格中的一个字段\n\t\nLIST(1,3,5,7).FIRST() = 1\nLIST(\"多\",\"维\",\"表\",\"格\").FIRST() = \"多\"\n\n\nIF(判断条件, 为 TRUE 时的返回值, [为 FALSE 时的返回值])\n当判断条件为 TRUE 时返回一个值,为 FALSE 时返回另一个值\n\t\n判断条件:进行判断的条件,可以手动输入一个逻辑表达式,也可以是对包含表达式字段的引用,代表逻辑值(即 TRUE 或 FALSE )\n为 TRUE 时的返回值:判断条件为 TRUE 时的返回值\n为 FALSE 时的返回值:判断条件为 FALSE 时的返回值\n查看详情:IF 和 IFS 函数\n\t\nIF(1=2, \"相同\", \"不相同\") = 不相同\n\n\nIFBLANK(值, 空值情况的返回值)\n检查目标值是否为空,非空时返回该值本身,否则返回第二个参数的值\n\t\n值:在“值”本身不为空值的情况下要返回的值。\n空值情况的返回值:在“值”为空值情况下的函数返回值。\n查看详情:ISBLANK 和 IFBLANK 函数\n\t\nIFBLANK([成员姓名], \"未填写\")\n此时,如果成员姓名为空,则返回的结果为 未填写\n\n\n\nIFERROR(值, 错误情况的返回值)\n检查目标值是否错误,没有错误时返回该值本身,否则返回第二个参数的值\n\t\n值:要判断的值,也是没有错误时要返回的值\n错误情况的返回值:有错误时返回的自定义结果\n查看详情:ISERROR 与 IFERROR 函数\n\t\nIFERROR([数据], \"错误\")\n当数据错误时,返回数据字段中本身的值,结果正确时,返回的结果为 错误\n\n\nIFS(条件1, 值1, [条件2, ...], [值2, ...])\n判断是否满足一个或多个条件并返回第一个 TRUE 条件对应的结果\n\t\n条件1:判断计算结果的第一个条件 \n值1:当满足条件1 时获得的结果 \n条件2:判断计算结果的第二个条件 \n值2:当满足条件2 时获得的结果 \n查看详情:IF 和 IFS 函数\n\t\nIFS(A>=80,\"优秀\",A>=60,\"及格\",TRUE,\"不及格\")\n此时,如果 A 的值大于 80,则返回的结果为 优秀;大于 60,则结果为 及格;其余情况则结果为 不及格\n\n\n\nISBLANK(值)\n检查目标值是否为空值,为空时结果为 true,否则为 false\n\t\n值:验证其是否为空的目标字段,也可为手动输入的值\n查看详情:ISBLANK 和 IFBLANK 函数\n\t\n【场景】:判断成员姓名中是否有空值\n【示例】:ISBLANK([成员姓名])\n\n\n\nISERROR:检查某个值是否为错误值。 \n\t\n值:要验证其是否为错误类型的值。 \n查看详情:ISERROR 与 IFERROR 函数\n\t\nISERROR([数据]) \n当数据错误,返回对应的结果 true,数据正确时,返回 false\n\n\nLAST(集合)\n返回一组数据或集合中的最后一个值\n\t\n集合:一组数据或者是多维表格中的一个字段\n\n\t\nLIST(1,3,5,7).LAST() = 7\nLIST(\"多\",\"维\",\"表\",\"格\").LAST() = \"格\"\n\n\nLOOKUP(要搜索的值, 要匹配的字段, 返回的结果字段, [查找模式])\n根据指定匹配条件快速查找和引用数据\n\n\n\t\n要搜索的值:当前数据表的某个字段,也可以是手动输入的值\n要匹配的字段:其他数据表的某个字段,用来匹配要搜索的字段,格式为[目标数据表].[目标字段]\n返回的结果字段:希望返回的结果所在的字段\n[查找模式]:可选项,默认为 1。当要匹配的字段为多选时,可指定查找模式:\n1:拆分查找,将多选拆分为多个单选进行查找\n0:整合查找,将多选整体作为一个数组进行查找\n\t\n【场景】:在当前[人员表]中查找引用[销售总表]中每位成员的销售额\n【示例】:LOOKUP([姓名],[销售总表].[姓名],[销售总表].[销售额])\n\n\nNOT(逻辑函数)\n对其参数的逻辑求反\n\t\n逻辑函数:计算结果为 TRUE 或 FALSE 的任何值或表达式\n\t\nNOT(TRUE)=false\n\n\n\n集合.NTH(位置)\n返回一组数据或集合中的第 N 个值\n\t\n集合:一组数据或者是多维表格中的一个字段\n位置:要返回的值的位置(从 1 开始)\n\t\nLIST(1,3,5,7).NTH(2)=3\nLIST(\"多\",\"维\",\"表\",\"格\").NTH(4)=格\n\n\nOR(逻辑表达式1, [逻辑表达式2, ...])\n只要提供的参数中任何一个为逻辑真就返回 TRUE,如果提供的所有参数均为逻辑假则返回 FALSE\n\t\n逻辑表达式1:一个表达式或对包含表达式的单元格的引用,该表达式代表某种逻辑值(即 TRUE 或 FALSE)或者可以强制转换为逻辑值\n逻辑表达式2:更多计算结果为逻辑值的表达式\n\t\nOR(1=2, 1=1)=true\n\n\n\nRECORD_ID()\n获取多维表格记录的唯一 ID 编号\n\t\n/\n\t\nRECORD_ID()\n\n\nSWITCH(表达式, 表达式1, 表达式1的值, [表达式2或默认值, ...], [表达式2的值, ...])\n通过与表达式进行比较,按命中条件返回相应的值\n注:SWITCH 函数的结果不能是数组\n\t\n表达式:参与条件判断的值,可以是多维表格中的一个字段\n表达式1:需要与表达式进行比较的第一种情况\n表达式1的值:与表达式1匹配时返回的值\n表达式2或默认值:与之前的表达式不匹配时需要尝试的其他情况,或者是当没有匹配条件时,返回的默认值\n表达式2的值:与表达式2匹配时返回的值\n\t\nSWITCH([序号],1,\"周日\",2,\"周一\",3,\"周二\",\"无\")\n此时,如果序号为 1,则返回的结果为周日;序号为 2,则结果为周一;序号为 3,则结果为周二;其余情况结果为 无\n\n\n\nTRUE()\n返回逻辑值 TRUE\n\t\n/\n\t\nTRUE() = true\n\n\nUNIQUE(值1, [值2, ...])\n对一组数据或集合进行去重,返回唯一值\n\t\n值1:需去重的第 1 个值或字段\n值2:需要去重的其他值或字段\n查看详情:使用 UNIQUE 函数\n\t\nUNIQUE(1,2,2,4,5,5)=1,2,4,5\n\n\n\n文本函数\n\n公式函数\n\t\n参数\n\t\n示例\n\n\nARRAYJOIN(数组, [分隔符])\n通过指定的符号,将数组或列表中的元素拼接成字符串。需要结合 LIST 函数使用\n\t\n数组:要拼接的数组\n分隔符:将数组中各元素拼接起来的符号,默认为英文逗号\n查看详情:使用 ARRAYJOIN 函数\n\t\nARRAYJOIN(LIST(\"A\",\"B\",\"C\"),\"-\")=A-B-C\n\n\nCHAR(数字)\n返回数字代码所对应的 Unicode 字符\n\t\n数字:需要转换为 Unicode 的目标数字\n\n\t\n【场景】:换行符号\n【示例】:CHAR(10)=\\n\n\n\nCONCATENATE(字符串1, [字符串2, ...])\n将多个字符串串联\n\t\n字符串 1:初始字符串\n字符串 2:要串联的其他字符串\n\t\nCONCATENATE(\"多维\", \"表格\")=多维表格\n\n\nCONTAINTEXT(文本, 查找文本)\n判断文本中是否包含要查找的部分文本\n\t\n文本:查找范围,可以是一个文本或一个字段\n查找文本:需要查找的文本\n\t\nCONTAINTEXT(\"多维表格\",\"表格\")=true\n\n\nFIND(查找的值, 查找范围, [起始位置])\n从指定位置开始查找特定的值,并返回其第一次出现的位置;若该值不存在,返回 -1\n\t\n查找的值:要查找的值,区分大小写\n查找范围:要查找的范围,是一个值、一组数据或数据表中某个字段\n起始位置:开始查找的位置,默认从 1 开始\n查看详情:使用 FIND 函数查找信息\n\t\nFIND(\"维\", \"多维表格\")=2\n\n\nHYPERLINK(链接地址, [显示文本])\n在单元格创建超链接,快捷跳转至目标地址\n\t\n链接地址:目标页面的完整网页地址,可以手动输入,也可以直接引用数据表中包含地址的字段\n显示文本:在单元格中显示的文本,可以手动输入,也可以直接引用数据表中的字段\n\t\nHYPERLINK(\"https://www.com/\",\"多维表格\")\n\n\nLEFT(字符串, [字符数])\n返回从指定字符串开头提取的子串\n\t\n字符串:要返回其左侧部分的字符串\n字符数:要从“字符串”左侧返回的字符数\n\n\t\nLEFT(\"多维表格\", 2)=多维\n\n\nLEN(文本)\n返回指定的字符串的长度\n\t\n文本:要返回其长度的字符串\n\n\t\nLEN(\"多维表格\") = 4\n\n\n\nLIST([值, ...])\n返回一个列表,可以包含值,也可以嵌套列表\n\t\n值:可以是一个具体的值,也可以是几个字段\n查看详情:使用 LIST 函数\n\t\nLIST(1,2,3) \n\n\n\nLISTCOMBINE(字段1, [字段2, ...])\n对多组字段进行合并,并展示其结果\n\t\n字段1:需合并的第 1 个字段,也可为手动输入的值\n字段2:需合并的第 2 个及更多字段,也可为手动输入的值\n\t\n【场景】:对 [1,2,3,4,5] 和 [2,3,4] 这两组数据进行合并\n【示例】:LIST(1,2,3,4,5).ListCombine(2,3,4)=1,2,3,4,5,2,3,4\n\n\nLOWER(文本)\n将指定字符串中的字母转换为小写\n\t\n文本:要转换为小写的字符串\n\n\t\nLOWER(\"ABC\") = abc\n\n\nMID(字符串, 开始位置, 提取长度)\n返回字符串中从指定位置开始的特定数目的字符\n\t\n字符串:从中提取字符的字符串\n开始位置:从字符串中开始提取的位置,第一个字符的索引为 1\n提取长度:需要提取的字符的长度\n\t\nMID(\"多维表格\", 1, 2)=多维\n\n\nREPLACE(文本, 位置, 长度, 新文本)\n将文本字符串的一部分替换为其他文本字符串\n\t\n文本:其中一部分将被替换的文本\n位置:替换的开始位置(起始索引编号为 1)\n长度:文本中要替换的字符数\n新文本:要插入到原有文本中的文本\n\t\nREPLACE(\"abcdefg\", 1, 6, \"xyz\")=xyzg\n\n\nRIGHT(字符串, [字符数])\n返回从指定字符串尾部提取的子串\n\t\n字符串:要返回其右侧部分的字符串\n字符数:要从“字符串”右侧返回的字符数\n\t\nRIGHT(\"多维表格\", 2)=表格\n\n\nSUBSTITUTE(要替换部分字符的文本, 被替换文本, 替换文本, [被替换文本序号])\n将现有文本中的部分内容替换为新的文本\n\n\t\n要替换部分字符的文本:即需要替换部分内容为新文本的原文本\n被替换文本:需要替换的文本\n替换文本:用于替换的新文本\n被替换文本序号:“一个数字,用来指定需要替换第几次出现的旧文本,为空时将替换所有的旧文本\n\t\nSUBSTITUTE(\"abcdefg\", \"cde\", \"xyz\", 1)=abxyzfg\n\n\nTEXT(值, 格式)\n按照指定格式将数字转换为文本\n\t\n值:要转换为文本的值\n格式:自定义的数字格式,常见如:\"YYYY/MM/DD\"(年月日)、\"MM/DD HH:MM\"(月日时分)、\"DDDD\"(星期全称)、\"DDD\"(星期简称)、\"0.0%\"(百分比)\n查看详情:使用 TEXT 函数\n\t\nTEXT(\"2021-01-01\", \"ddd\")=周五\n\n\nSPLIT(文本, 分隔符)\n使用分隔符对文本进行分割\n\n\t\n文本:要拆分的文本\n分割符:用于拆分文本的一个或多个字符\n\n\t\n【场景1】:使用1个分隔符(单个字符)分割文本\n【示例】:SPLIT(\"a,b,c\", \",\"),结果为: [\"a\", \"b\", \"c\"]\n【场景2】:使用1个分隔符(多个字符)分割文本\n【示例】:SPLIT(\"a--c\", \"--\"),结果为: [\"a\", \"c\"]\n【场景3】:使用换行符分割文本\n【示例】:SPLIT([包含换行符的字段], char(10))\n\n\nTODATE(文本)\n将文本转成日期格式\n\t\n文本:要转的文本值,例如:\"2021/06/30\"\n\n\t\n[数据表].FILTER(CurrentValue.[日期] > TODATE(\"2022-05-06\")).[销售额]\n\n\nTRIM(文本)\n移除文本中的前导、结尾和重复空格\n\t\n文本:要移除空格的文本或对包含要移除空格的文本的单元格引用\n\n\t\nTRIM(\" abc abc \")=abc abc\n\n\nUPPER(文本)\n将指定字符串中的字母转换为大写\n\t\n文本:要转换为大写的字符串\n\n\t\nUPPER(\"abc\")=ABC\n\n\n\n数字函数\n\n公式函数\n\t\n参数\n\t\n示例\n\n\nABS(数值)\n返回数值的绝对值\n\t\n数值:要返回其绝对值的数值\n\t\nABS(-2)=2\n\n\nACOS(数值)\n返回数值的反余弦值,以弧度表示\n\t\n数值:要计算的数值\n\t\nACOS(-0.5)*180/PI() = 120\n\n\nACOSH(数值)\n返回数值的反双曲余弦值\n\t\n数值:要计算的数值\n\t\nACOSH(1) = 0\n\n\nASIN(数值)\n返回数值的反正弦值,以弧度表示\n\t\n数值:要计算的数值\n\t\nASIN(-0.5)*180/PI() = -30\n\n\nASINH(数值)\n返回数值的反双曲正弦值,以弧度表示\n\t\n数值:要计算的数值\n\n\t\nASINH(10) = 2.99822295\n\n\nATAN(数值)\n返回数值的反正切值,以弧度表示\n\t\n数值:要计算的数值\n\t\nATAN(1)*180/PI() = 45\n\n\nATAN2(X坐标值, Y坐标值)\n返回给定的 X 轴及 Y 轴坐标值的反正切值\n\t\nX坐标值:要计算的数值\nY坐标值:要计算的数值\n\t\nATAN2(-1, -1)*180/PI() = -135\n\n\n\nATANH(数值)\n返回数值的反双曲正切值\n\t\n数值:要计算的数值\n\t\nATANH(0.76159416) = 1.00000001\n\n\nAVERAGE(值1, [值2, ...])\n返回一组数据或集合的算术平均值\n\t\n值 1:计算平均值时的第一个数值或字段\n值 2:计算平均值时的其他数值或字段\n\t\nAVERAGE(2, 100)=51\n\n\nCOS(角度)\n返回角度的余弦值(角度以弧度表示)\n\t\n角度:要计算的角度, 以弧度表示\n\t\nCOS(60*PI()/180) = 0.5\n\n\nCOSH(数值)\n返回实数的双曲余弦值\n\t\n数值:要计算的数值\n\t\nCOSH(4) = 27.30823284\n\n\nCOUNTA(值1, [值2, ...])\n统计数据集中非空值的个数\n\t\n值 1:统计的第一个值或引用字段\n值 2:统计的其他值或引用字段\n\t\nCOUNTA([附件字段])=附件字段中附件的个数\n\n\n数据范围.COUNTIF(判断条件)\n计算目标字段或数组中符合判断条件的数据个数\n\t\n数据范围:一列或一组数据\n判断条件:对目标范围内的数据进行判断的条件\n注:引用数据时,需要通过 CurrentValue 逐一判断\n查看详情:使用 COUNTIF 函数统计数据\n\t\n【场景】:统计[库存总表]中,剩余库存大于 1000 的库存种类数量\n【示例】:[库存总表].COUNTIF(CurrentValue.[剩余库存]>1000)\n\n\nINT(数值)\n将数值向下取值为小于或等于该数的最接近的整数\n\t\n数值:要计算的数值\n\t\nINT(8.9) = 8\n\n\nISODD(数值)\n判断目标数值是否为奇数,是则结果为true,否则为false\n\t\n数值:要判断的数值\n\n\t\nISODD(1) = true\n\n\nMAX(值1, [值2, ...])\n返回数值数据集中的最大值\n\t\n值 1:计算最大值时所用的第一个值或引用的字段\n值 2:计算最大值时所用的其他值或引用的字段\n\t\nMAX(2, 100)=100\n\n\nMIN(值1, [值2, ...])\n返回数值数据集中的最小值\n\t\n数值 1:计算最小值时所用的第一个值或引用的字段\n数值 2:计算最小值时所用的其他值或引用的字段\n\t\nMIN(2, 100)=2\n\n\nMOD(被除数, 除数)\n返回两数相除的余数\n\t\n被除数:作为被除数的数值\n除数:作为除数的数值\n\t\nMOD(3, 2) = 1\n\n\n\nPI()\n返回数字 3.14159265358979(数学常量 pi),精确到 15 个数字\n\t\n/\n\t\nPI() = 3.141592654\n\n\n\nPOWER(基数, 指数)\n返回数字乘幂的计算结果\n\t\n基数:要计算的数值,可为任意实数\n指数:基数的乘幂次数\n\t\nPOWER(5,2)=25\n\n\n\nQUOTIENT(被除数, 除数)\n返回除法的整数部分。 要放弃除法的余数时,可使用此函数\n\t\n被除数:作为被除数的数值\n除数:作为除数的数值\n\t\nQUOTIENT(5, 2) = 2\n\n\nROUND(数值, 位数)\n将数值的指定位数以下进行四舍五入\n\t\n数值:要四舍五入的数值 \n位数:代表舍入的位数,1 代表小数点后一位,0 代表取整,-1 代表小数点前一位\n\t\nROUND(99.44, 1)=99.4\n\n\nROUNDDOWN(数值, 位数)\n将数值舍入到指定的位数,向 0 进行向下舍入\n\t\n数值:要舍入的数值。\n位数:代表舍入的位数,1 代表小数点后一位,0 代表取整,-1 代表小数点前一位\n\t\nROUNDDOWN(99.44, 1)=99.4\n\n\n\nROUNDUP(数值, 位数)\n将数值舍入到指定的位数,向 0 进行向上舍入\n\n\t\n数值:要舍入的数值 \n位数:代表舍入的位数,1 代表小数点后一位,0 代表取整,-1 代表小数点前一位\n\t\nROUNDUP(99.45, 1)=99.5\n\n\n\nSIN(角度)\n给定角度(以弧度表示),返回其正弦值\n\t\n角度:要计算的角度,以弧度表示\n\n\t\nSIN(PI()) = 0\n\n\nSINH(数值)\n返回实数的双曲正弦值\n\t\n数值:要计算的数值\n\t\n2.868*SINH(0.0342*1.03) = 0.101049063\n\n\nSUM(值1, [值2, ...])\n返回目标数组所有数值的总和\n\t\n值 1:求和式中第一个数值或引用列\n值 2:求和式中其他数值或引用列\n\t\nSUM(1, 2)=3\n\n\nSUMIF(数据范围, 判断条件)\n对符合判断条件的目标字段或数组中的数据进行求和\n\t\n数据范围:进行求和的目标字段或数组,输入格式为[目标数据表].[目标字段]\n判断条件:对目标范围内的数据进行判断的条件\n注:引用数据时,需要通过 CurrentValue 逐一判断\n查看详情:使用 SUMIF 函数进行求和\n\t\n【场景1】:统计[销售总表]中,[销售额] > 1000 的总和。\n【示例1】:[销售总表].[销售额].SUMIF(CurrentValue > 1000)\n【场景2】:统计[销售总表]中,各[销售人员]的[销售额]总和(需要用 FILTER)\n【示例2】:[销售总表].FILTER(CurrentValue.[销售人员]=[销售人员]).[销售额].SUM()\n\n\nTAN(角度)\n返回给定角度的正切值(以弧度表示)\n\t\n角度:要计算的角度, 以弧度表示\n\n\t\nTAN(45*PI()/180) = 1\n\n\nTANH(数值)\n返回给定实数的双曲正切值\n\t\n数值:要计算的数值\n\t\nTANH(0) = 0\n\n\nVALUE(文本)\n将表示数字的文本字符串(如货币、日期或时间格式)转换为数字\n\t\n文本:需要转换为数字的文本\n\t\nVALUE(\"$50\")=50\n\n\n\n位置函数\n\n公式函数\n\t\n参数\n\t\n示例\n\n\nDISTANCE([地理位置字段1], [地理位置字段2])\n计算两个地理位置之间的相差的距离,默认单位为千米\n\t\n地理位置字段1:第一个地理位置,是多维表格中的一个地理位置字段\n地理位置字段2:第二个地理位置,是多维表格中的一个地理位置字段\n\t\nDistance([公司所在地],[打卡位置])\n\n\n\n关联文档\n多维表格公式字段概述\n多维表格公式计算优化指南\n使用公式获取关联、地理位置等字段属性\n多维表格函数实践\n作者\n:\n飞书帮助中心\n最后更新于2023/11/10\n本文是否对你有帮助\n有帮助\n无帮助\n未能解决你的问题?请联系在线客服"
},
{
"title": "Feishu Open Platform",
"url": "https://open.feishu.cn/document/server-docs/docs/bitable-v1/app-table-record/list",
"html": "Server APIDocsBaserecordList records\nList records\nLast updated on 2023-08-03\nThe contents of this article\nRequest\nRequest header\nPath parameters\nQuery parameters\nResponse\nResponse body\nResponse body example\nError code\n\nlist records,Up to 500 lines at a time, paging is supported(Currently, the return of search reference fields are not supported. The search reference field can be converted into a formula field. The search reference is essentially a lookup formula)\nTry It\n\nFor the first access, please refer to Cloud Document Interface QuickStart & Base OpenAPI Access Guide\n\nRequest\nFacts\t\nHTTP URL\t\n\nhttps://open.feishu.cn/open-apis/bitable/v1/apps/:app_token/tables/:table_id/records\n\n\nHTTP Method\t\n\nGET\n\n\nRate Limit\t\n\n20 per second\n\n\nSupported app types\t\n\nCustom apps\nStore apps\n\n\nRequired scopes \nEnable any scope from the list\n\t\nView, comment, edit and manage Base\nView, comment, and export Base\n\nRequired field scopes\t\nThe response body of the API contains the following sensitive fields, and they will be returned only after corresponding scopes are added. If you do not need the fields, it is not recommended that you request the scopes.\nObtain user's basic information\nRead Contacts as an app\nObtain user ID\nOnly custom apps\nAccess Contacts as an app\nScope of older version\nRead contacts\nScope of older version\nRequest header\nParameter\tType\tRequired\tDescription\n\n\nAuthorization\n\n\t\n\nstring\n\n\t\n\nYes\n\n\ttenant_access_token or user_access_token\n\nValue format: \"Bearer access_token\"\n\nExample value: \"Bearer u-7f1bcd13fc57d46bac21793a18e560\"\n\nHow to choose and get access token\n\nPath parameters\nParameter\n\t\nType\n\t\nDescription\n\n\n\napp_token\n\n\t\n\nstring\n\n\t\n\nBase unique device identifier app_token description\n\nExample value: \"bascnd0HM3KAyiZJELxfMHRrGZc\"\n\n\n\n\ntable_id\n\n\t\n\nstring\n\n\t\n\nBase data table unique device identifier table_id description\n\nExample value: \"tblEGB3HKvDrpj71\"\n\nQuery parameters\nParameter\n\t\nType\n\t\nRequired\n\t\nDescription\n\n\n\nview_id\n\n\t\n\nstring\n\n\t\n\nNo\n\n\t\n\nBase view unique device identifier view_id description\n\nExample value: \"vewp7nmiS4\"\n\n\n\n\nfilter\n\n\t\n\nstring\n\n\t\n\nNo\n\n\t\n\nfilter\n\nExample value: \"AND(CurrentValue.[Height]>180, CurrentValue.[Weight]>150)\"\n\n\n\n\nsort\n\n\t\n\nstring\n\n\t\n\nNo\n\n\t\n\nsort\n\nExample value: \"[\"fieldName1 DESC\",\"fieldName2 ASC\"]\"\n\n\n\n\nfield_names\n\n\t\n\nstring\n\n\t\n\nNo\n\n\t\n\nfield_names\n\nExample value: \"[\"fieldName1\"]\"\n\n\n\n\ntext_field_as_array\n\n\t\n\nboolean\n\n\t\n\nNo\n\n\t\n\nindicate the structure of value of text field in response\n\nExample value: true\n\n\n\n\nuser_id_type\n\n\t\n\nstring\n\n\t\n\nNo\n\n\t\n\nUser ID categories\n\nExample value: \"open_id\"\n\nOptional values are:\n\nopen_id:Identifies a user to an app. The same user has different Open IDs in different apps. How to get Open ID\nunion_id:Identifies a user to a tenant that acts as a developer. A user has the same Union ID in apps developed by the same developer, and has different Union IDs in apps developed by different developers. A developer can use Union ID to link the same user's identities in multiple apps.How to get Union ID\nuser_id:Identifies a user to a tenant. The same user has different User IDs in different tenants. In one single tenant, a user has the same User ID in all apps (including store apps). User ID is usually used to communicate user data between different apps. How to get User ID\n\nDefault value: open_id\n\nWhen the value is user_id, the following field scopes are required:\n\nObtain user ID\nOnly custom apps\n\n\n\ndisplay_formula_ref\n\n\t\n\nboolean\n\n\t\n\nNo\n\n\t\n\nControl whether formulas, lookup reference fields return their original values\n\nExample value: true\n\n\n\n\nautomatic_fields\n\n\t\n\nboolean\n\n\t\n\nNo\n\n\t\n\nControls whether to return automatically calculated information, such as created_by/created_time/last_modified_by/last_modified_time\n\nExample value: true\n\n\n\n\npage_token\n\n\t\n\nstring\n\n\t\n\nNo\n\n\t\n\nPage identifier. It is not filled in the first request, indicating traversal from the beginning; when there will be more groups, the new page_token will be returned at the same time, and the next traversal can use the page_token to get more groups\n\nExample value: \"recP750ZNJ\"\n\n\n\n\npage_size\n\n\t\n\nint\n\n\t\n\nNo\n\n\t\n\npaging size\n\nExample value: 10\n\nDefault value: 20\n\nData validation rules:\n\nMaximum value: 500\nResponse\nResponse body\nParameter\nShow sublists\n\t\nType\n\t\nDescription\n\n\n\ncode\n\n\t\n\nint\n\n\t\n\nError codes, fail if not zero\n\n\n\n\nmsg\n\n\t\n\nstring\n\n\t\n\nError descriptions\n\n\n\n\ndata\n\n\t\n\n-\n\n\t\n\n-\n\nResponse body example\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n{\n \"code\": 0,\n \"msg\": \"success\",\n \"data\": {\n \"has_more\": true,\n \"page_token\": \"recG70uhxh\",\n \"total\": 8,\n \"items\": [{\n \"fields\": {\n \"primary\": \"primary\",\n \"text\": \"text\",\n \"number\": \"100\",\n \"single_select\": \"option_1\",\n \"multi_select\": [\"option_1\", \"option_2\"],\n \"date\": 1674206443000,\n \"checkbox\": true,\n \"user\": [{\n \"avatar_url\": \"https://internal-api-lark-file.larksuite.com/static-resource/v1/b2-7619-4b8a-b27b-c72d90b06a2j~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp\",\n \"email\": \"zhangsan.leben@bytedance.com\",\n \"en_name\": \"ZhangSan\",\nError code\nHTTP status code\tError code\tDescription\tTroubleshooting suggestions\n\n\n200\n\n\t\n\n1254000\n\n\t\n\nWrongRequestJson\n\n\t\n\nRequest error\n\n\n\n\n200\n\n\t\n\n1254001\n\n\t\n\nWrongRequestBody\n\n\t\n\nRequest body error\n\n\n\n\n200\n\n\t\n\n1254002\n\n\t\n\nFail\n\n\t\n\nInternal error, have any questions can be consulting service\n\n\n\n\n200\n\n\t\n\n1254003\n\n\t\n\nWrongBaseToken\n\n\t\n\nAppToken error\n\n\n\n\n200\n\n\t\n\n1254004\n\n\t\n\nWrongTableId\n\n\t\n\nTable id wrong\n\n\n\n\n200\n\n\t\n\n1254005\n\n\t\n\nWrongViewId\n\n\t\n\nView id wrong\n\n\n\n\n200\n\n\t\n\n1254006\n\n\t\n\nWrongRecordId\n\n\t\n\nRecord id wrong\n\n\n\n\n200\n\n\t\n\n1254007\n\n\t\n\nEmptyValue\n\n\t\n\nEmpty value\n\n\n\n\n200\n\n\t\n\n1254008\n\n\t\n\nEmptyView\n\n\t\n\nEmpty view\n\n\n\n\n200\n\n\t\n\n1254009\n\n\t\n\nWrongFieldId\n\n\t\n\nWrong fieldId\n\n\n\n\n200\n\n\t\n\n1254010\n\n\t\n\nReqConvError\n\n\t\n\nRequest error\n\n\n\n\n400\n\n\t\n\n1254011\n\n\t\n\nPage size must greater than 0.\n\n\t\n\ninvalid page_size\n\n\n\n\n200\n\n\t\n\n1254016\n\n\t\n\nInvalidSort\n\n\t\n\ninvalid sort\n\n\n\n\n200\n\n\t\n\n1254018\n\n\t\n\nInvalidFilter\n\n\t\n\ninvalid filter\n\n\n\n\n200\n\n\t\n\n1254024\n\n\t\n\nInvalidFieldNames\n\n\t\n\nInvalidFieldNames\n\n\n\n\n200\n\n\t\n\n1254030\n\n\t\n\nTooLargeResponse\n\n\t\n\nTooLargeResponse\n\n\n\n\n400\n\n\t\n\n1254036\n\n\t\n\nBase is copying, please try again later.\n\n\t\n\nBase copy replicating, try again later\n\n\n\n\n200\n\n\t\n\n1254040\n\n\t\n\nBaseTokenNotFound\n\n\t\n\nAppToken not found\n\n\n\n\n200\n\n\t\n\n1254041\n\n\t\n\nTableIdNotFound\n\n\t\n\nTable not found\n\n\n\n\n200\n\n\t\n\n1254042\n\n\t\n\nViewIdNotFound\n\n\t\n\nView not found\n\n\n\n\n200\n\n\t\n\n1254043\n\n\t\n\nRecordIdNotFound\n\n\t\n\nRecordIdNotFound\n\n\n\n\n200\n\n\t\n\n1254044\n\n\t\n\nFieldIdNotFound\n\n\t\n\nFieldIdNotFound\n\n\n\n\n200\n\n\t\n\n1254045\n\n\t\n\nFieldNameNotFound\n\n\t\n\nField name does not exist\n\n\n\n\n200\n\n\t\n\n1254060\n\n\t\n\nTextFieldConvFail\n\n\t\n\nTextFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254061\n\n\t\n\nNumberFieldConvFail\n\n\t\n\nNumberFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254062\n\n\t\n\nSingleSelectFieldConvFail\n\n\t\n\nSingleSelectFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254063\n\n\t\n\nMultiSelectFieldConvFail\n\n\t\n\nMultiSelectFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254064\n\n\t\n\nDatetimeFieldConvFail\n\n\t\n\nDatetimeFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254065\n\n\t\n\nCheckboxFieldConvFail\n\n\t\n\nCheckboxFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254066\n\n\t\n\nUserFieldConvFail\n\n\t\n\nUserFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254067\n\n\t\n\nLinkFieldConvFail\n\n\t\n\nLinkFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254068\n\n\t\n\nURLFieldConvFail\n\n\t\n\nURLFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254069\n\n\t\n\nAttachFieldConvFail\n\n\t\n\nAttachFieldConvFail\n\n\n\n\n200\n\n\t\n\n1254072\n\n\t\n\nFailed to convert phone field, please make sure it is correct.\n\n\t\n\ninvalid phone format\n\n\n\n\n200\n\n\t\n\n1254100\n\n\t\n\nTableExceedLimit\n\n\t\n\nTableExceedLimit, limited to 300\n\n\n\n\n200\n\n\t\n\n1254101\n\n\t\n\nViewExceedLimit\n\n\t\n\nViewExceedLimit, limited to 200\n\n\n\n\n200\n\n\t\n\n1254102\n\n\t\n\nFileExceedLimit\n\n\t\n\nFileExceedLimit\n\n\n\n\n200\n\n\t\n\n1254103\n\n\t\n\nRecordExceedLimit\n\n\t\n\nRecordExceedLimit, limited to 20,000\n\n\n\n\n200\n\n\t\n\n1254104\n\n\t\n\nRecordAddOnceExceedLimit\n\n\t\n\nRecordAddOnceExceedLimit, limited to 500\n\n\n\n\n200\n\n\t\n\n1254107\n\n\t\n\nFilterLengthExceedLimit\n\n\t\n\nFilterLengthExceedLimit, limited to 2,000 characters\n\n\n\n\n200\n\n\t\n\n1254108\n\n\t\n\nSortLengthExceedLimit\n\n\t\n\nSortLengthExceedLimit, limited to 1,000 characters\n\n\n\n\n200\n\n\t\n\n1254109\n\n\t\n\nFormulaTableSizeExceedLimit\n\n\t\n\nFormulaTableSizeExceedLimit\n\n\n\n\n200\n\n\t\n\n1254130\n\n\t\n\nTooLargeCell\n\n\t\n\nTooLargeCell\n\n\n\n\n200\n\n\t\n\n1254290\n\n\t\n\nTooManyRequest\n\n\t\n\nRequest too fast, try again later\n\n\n\n\n200\n\n\t\n\n1254291\n\n\t\n\nWrite conflict\n\n\t\n\nThe same data table does not support concurrent calls to the write interface, please check whether there is a concurrent call to the write interface. The writing interface includes: adding, modifying, and deleting records; adding, modifying, and deleting fields; modifying forms; modifying views, etc.\n\n\n\n\n200\n\n\t\n\n1254301\n\n\t\n\nOperationTypeError\n\n\t\n\nBase does not have advanced permissions enabled or does not support enabling advanced permissions\n\n\n\n\n200\n\n\t\n\n1254302\n\n\t\n\nPermission denied.\n\n\t\n\nNo access rights, usually caused by the table opening of advanced permissions, please add a group containing applications in the advanced permissions settings and give this group read and write permissions\n\n\n\n\n200\n\n\t\n\n1254303\n\n\t\n\nAttachPermNotAllow\n\n\t\n\nNo attach permission\n\n\n\n\n200\n\n\t\n\n1255001\n\n\t\n\nInternalError\n\n\t\n\nInternal error, have any questions can be consulting service\n\n\n\n\n200\n\n\t\n\n1255002\n\n\t\n\nRpcError\n\n\t\n\nInternal error, have any questions can be consulting service\n\n\n\n\n200\n\n\t\n\n1255003\n\n\t\n\nMarshalError\n\n\t\n\nSerialization failed, have any questions can be consulting service\n\n\n\n\n200\n\n\t\n\n1255004\n\n\t\n\nUmMarshalError\n\n\t\n\nDeserialization failed, have any questions can be consulting service\n\n\n\n\n200\n\n\t\n\n1255005\n\n\t\n\nConvError\n\n\t\n\nInternal error, have any questions can be consulting service\n\n\n\n\n504\n\n\t\n\n1255040\n\n\t\n\nRequest timed out, please try again later\n\n\t\n\nTry again\n\n\n\n\n400\n\n\t\n\n1254607\n\n\t\n\nData not ready, please try again later\n\n\t\n\nThere are usually two situations when this error occurs: 1. The last submitted modification has not been processed; 2. The data is too large and the server calculation times out;This error code can be appropriately retried.\n\nPrevious:Get records\nNext:Create a record\nIs this document helpful to you?"
}
]