函数参考

关系类函数

更新于 2026-09-04 · 阅读约 3 分钟 · 对应桌面版 macOS 0.0.9 / Windows 0.0.7

跨表取值 xlookup、从 JSON 里取字段 json.select、从数组型字符串里取第 n 个值 valueat,以及 JSONPath 写法。


把另一张表、一段 JSON 或一个数组里的值取到本列。xlookup 是「匹配」面板生成的那个函数;json.select 常配合 HTTP 连接和 JSON 导入使用。

说明

写法约定:列用列代码引用(如 AA6);函数名不分大小写;文本用英文双引号;条件里可用 and / or。示例里的「在结果列输入」指把公式写在新列的公式栏里。以下说明与应用内公式编辑器的「函数帮助」相同。

xlookup

查找表格,按条件匹配获取值

公式说明

查找原始表格,按条件匹配相等,获得“原始表格内容列“的值, 写入结果表格。

公式语法

在结果列写入:XLOOKUP(结果表条件匹配列, 原始表条件匹配列,原始表需查找的内容列)
  • 参数均可使用数据列,即表格数据每列顶部的 CODE, 例如:AA1
  • 结果表条件匹配列 : 结果表格要匹配的列(结果表格即当前公式写入的表格)
  • 原始表条件匹配列 : 原始表格要搜索匹配的列
  • 原始表需查找的内容列 : 原始表格要获取其内容列

vlookup

公式说明

在表格的第一列中查找值,并返回该值所在行的指定列中的值。

公式语法

在结果列输入:vlookup(查找值, 数据范围, 列序号, [匹配类型])
  • 查找值:要在表格的第一列中查找的值
  • 数据范围:包含查找值和返回值的表格范围
  • 列序号:要返回值的列序号
  • 匹配类型:可选,指定查找的匹配类型,默认为精确匹配

json.select

公式说明

通过 key 值, 获取 json 数据中的值.

公式语法

json.select("json 数据串","要选择的 key 值")
  • json 数据串: 必须是合法的 json 字符串
  • 数据中若不存在要选择的 key 值, 则返回空值
  • 参数均可使用数据列,即表格数据每列顶部的 CODE, 例如:AA1

valueat

公式说明

在数组型的字符串中, 获得数组的第 n 个值。

公式语法

在结果列输入:valueat(数组型的字符串 / 列序号, 位置n)
  • 数组型的字符串: 须为"[]"包裹, 例如: [1,2,3]; 如果字符串非数组型,则公式取值为空值
  • 位置 n: 从 1 开始, 如果位置超过数组的长度, 返回空值
  • 参数均可使用数据列,即表格数据每列顶部的 CODE, 例如:AA1

union

应用内暂无详细说明,以公式编辑器「函数帮助」为准。

convertunion

公式说明

将多个列的值合并为一个列。

公式语法

在结果列输入:convertunion(列序号1, 列序号2, ...)
  • 列序号:要合并的列,如:AA1、AD12

convertselect

公式说明

从多个列中选择特定的列。

公式语法

在结果列输入:convertselect(列序号1, 列序号2, ...)
  • 列序号:要选择的列,如:AA1、AD12

groupby

应用内暂无详细说明,以公式编辑器「函数帮助」为准。

JSONPath 写法

json.select、HTTP 连接的「定义数据结构」和 JSON 导入都用 JSONPath 定位 JSON 里的节点。类似 XPath 之于 XML,支持点号写法 $.store.book[0].title 和方括号写法 $['store']['book'][0]['title']

符号 意思
$ 根节点
.[] 子节点
.. 任意深度的后代
* 通配,所有成员
[n] 数组第 n 个(从 0 起),[-1:] 最后一个
[a,b] 多个下标
[start:end] 切片
[?(表达式)] 过滤,@ 代表当前元素,可用 && `

以这段 JSON 为例:

{ "store": { "book": [
  { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 },
  { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 },
  { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }
], "bicycle": { "color": "red", "price": 19.95 } } }
表达式 取到
$.store.book[*].author 所有书的作者
$..author 任意层级的 author
$.store.* 商店里的一切
$.store..price 所有 price
$..book[2] 第三本书
$..book[-1:] 最后一本
$..book[0,1] / $..book[:2] 前两本
$..book[?(@.isbn)] 有 isbn 的书
$..book[?(@.price < 10)] 价格低于 10 的书
$..book[?(@.price < 30 && @.category == "fiction")] 低于 30 的小说
$..* 全部成员

接口返回「一个对象包着数组」时,在 HTTP 连接的定义数据结构里写到数组那一层(如 $.data.list[*]),每个元素就成为一行。

这一页没解决你的问题?翻翻帮助中心,或者写信到 tabledi@thingworks.com.cn —— 读信的就是做产品的人。