在数据复核与对账链路中,分析师经常要按格子地址改一个单号、把一整块区域写成复核状态、把两格对调、把一块矩形拷到同表另一处或另一张表的起点,以及在表尾补出空行。坐标一旦按磁盘 Excel「A1 = 表头」来念,就会改错行、写错列。
如果采用传统手工方式,不仅要在表格里逐格点选、复制粘贴,而且多步改格无法形成可回溯、可自动复跑的工作流;一步坐标错位,下游对账会整表失真。
DT-Bot 的 「格子编辑」 算子专为解决此类按地址定位的单元格级读写而设计。它按工作空间格子地址完成查询、写入、清空、两格互换、同表或跨表拷矩形,以及表尾补空行;查询不改表,写入默认就地改目标表,写了结果名则写新表。工作空间约定:A0 是表头,A1 起是数据行。
一、 核心能力与适用场景
「格子编辑」算子聚焦于按格子地址读写单元格,覆盖以下六大核心能力:
| 核心能力 | 解决什么业务问题 | 典型业务场景 |
|---|---|---|
| 按地址查询 | 先核对某一格或一块区域现在是什么值,再决定要不要改。 | 复核前先查销售明细 A1 的单号,或一次查看 A1:B3 的订单号与客户。 |
| 按地址写入 / 清空 | 把指定格子改成给定字,或把指定格子清空。 | 把 A1 改成 O99;把 D1:D4 写成已复核;把 D2 清空。 |
| 两格互换 | 同一张表里两个格子交换取值,其余格子不动。 | 把 C1 与 C4 的金额对调,用于纠错或重排。 |
| 同表 / 跨表拷矩形 | 把一块格子拷到同表另一处,或拷到另一张表的起点;源区只读。 | 把销售明细 A1:A3 拷到 D1;把源块 A1:A2 拷到对账表的 A1。 |
| 列合计写入 | 求某列合计,写入目标格。 | 把销售明细金额列求和,写入 D1,供对账页眉使用。 |
| 表尾补空行 / 写出新表 | 在表尾加空行;写了结果名则改新表、源表不动。 | 给对账表表尾加 2 行空行;把 A1 改成 O99 并输出「销售明细_格子编辑」。 |
二、 边界指南:它与相近算子有何区别?
在构建数据工作流时,理解算子之间的职责边界至关重要:
| 比较维度 | 「格子编辑」算子 | 「缺失填充」算子 | 「行操作」算子 | 「表格截取」算子 |
|---|---|---|---|---|
| 主要定位 | 按格子地址读写单元格 | 只填空单元格,已有非空不改 | 按列规则清洗单元格文本 | 按区域切出更小的新表 |
| 输出机制 | 查询不改表;写入默认就地改目标表,写了结果名则写新表 | 默认就地改源表 | 就地更新原表(单元格级修改) | 默认写出新表,源表不改 |
| 典型动作 | 查、改、清空、互换、拷矩形、表尾补空行、列合计写入 | 空值沿轴传播、填常数、填均值 | 去空格、按值替换、正则提取 | 按行列区域切出子集表 |
| 如何选择 | “把 A1 改成 O99,把 D1:D4 写成已复核” | “只把空的地区往下填,已有字不要动” | “把客户名称里的前后空格和指定词替换掉” | “只要 A1:C20 这一块,切成一张更小的新表” |
三、 提示词编写规范与公式
「格子编辑」算子支持自然语言直接表达,建议遵循以下标准的三要素编写公式:
【目标表范围】 + 【核心操作动作】 + 【格子地址或区域】
1. 目标表范围表达
- 单表精准点名:明确指定单张表名称,例如
把 “销售明细” 的 A1 改成 O99; - 跨表点名:拷矩形时同时写清源表与目标表,例如
把源块的 A1:A2 拷到对账表的 A1; - 默认当前流转表:若提示词中未显式提及表名,算子将默认继承上一节点连线流入的数据表,或当前打开的表。
2. 核心操作动作表达
- 查询指令:
查询 ... A1 的值、查询 ... A1:B3 的值;查询不要写结果名; - 写入 / 清空指令:
把 ... 的 A1 改成 O99、把 ... D1:D4 写成已复核、把 ... D2 清空; - 互换 / 拷贝指令:
把 ... 的 C1 和 C4 互换、把 ... A1:A3 拷到 D1、把源块的 A1:A2 拷到对账表的 A1; - 合计写入指令:
把 ... 金额列求和,写入 D1; - 表尾补空行 / 写出新表:
给 “对账表” 表尾加 2 行空行;需要保留源表时写输出 “销售明细_格子编辑”。
3. 格子地址约定
- 工作空间 A0 是表头,A1 起是数据行,不要按磁盘 Excel「A1 = 表头」来念;
- 格子可用
A1、D1:D4,或「第 2 行第 3 列」; - 查询只返回当前值,不改表。
4. 多步复合操作书写规范
当需要单节点连续执行多个动作时,必须采用分行编号列表(1. 2. 3.) 书写,系统会严格按照先后顺序流水线执行,后一步吃前一步已经改过的表:
“销售明细” :
1. 把 A1 改成 O99
2. 把 D1:D4 写成已复核
3. 把 C1 和 C4 互换
四、 核心功能与图解实战
以下结合真实企业数据场景,展示「格子编辑」在不同需求下的处理效果。核验坐标时请按工作空间理解:A0 是表头,A1 起是第一行数据。
场景 1:按地址查询(单格与区域)
业务背景:复核员在改单号之前,需要先确认销售明细 A1 当前是什么值,并一次查看 A1:B3 的订单号与客户,避免改错格子。
【处理前:销售明细】
| 订单号 | 客户 | 金额 | 备注 |
|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 |
| O2 | 腾讯科技 | 80 | 普通 |
| O3 | 字节跳动 | 200 | 无 |
| O4 | 个人买家 | 50 | 加急 |
【执行提示词】
查询 “销售明细” A1 的值。
查询销售明细 A1:B3 的值。
【处理后:销售明细(表不改)】
| 订单号 | 客户 | 金额 | 备注 | 变更说明 |
|---|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 | 表内取值全部保持原样 |
| O2 | 腾讯科技 | 80 | 普通 | 表内取值全部保持原样 |
| O3 | 字节跳动 | 200 | 无 | 表内取值全部保持原样 |
| O4 | 个人买家 | 50 | 加急 | 表内取值全部保持原样 |
逻辑详解:工作空间 A1 是第一行数据的订单号,查询结果为
O1;A1:B3 返回订单号与客户三行(O1/华为技术、O2/腾讯科技、O3/字节跳动)。查询不改表,也不要写结果名。
场景 2:按地址写入与清空
案例 A:单格改值
业务背景:销售明细第一行订单号录错,复核要求把 A1 改成 O99,其余行与其余列保持不动。
【处理前:销售明细】
| 订单号 | 客户 | 金额 | 备注 |
|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 |
| O2 | 腾讯科技 | 80 | 普通 |
| O3 | 字节跳动 | 200 | 无 |
| O4 | 个人买家 | 50 | 加急 |
【执行提示词】
把 “销售明细” 的 A1 改成 O99。
【处理后:销售明细(就地更新)】
| 订单号 | 客户 | 金额 | 备注 | 变更说明 |
|---|---|---|---|---|
| O99 | 华为技术 | 120 | 加急 | A1 已改成 O99(A1 是第一行数据,不是表头) |
| O2 | 腾讯科技 | 80 | 普通 | 未点名,保持原样 |
| O3 | 字节跳动 | 200 | 无 | 未点名,保持原样 |
| O4 | 个人买家 | 50 | 加急 | 未点名,保持原样 |
案例 B:区域写入与单格清空
业务背景:四行备注需要统一写成「已复核」;随后发现第二行备注不应保留,要求把 D2 清空。
【处理前:销售明细】
| 订单号 | 客户 | 金额 | 备注 |
|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 |
| O2 | 腾讯科技 | 80 | 普通 |
| O3 | 字节跳动 | 200 | 无 |
| O4 | 个人买家 | 50 | 加急 |
【执行提示词】
把销售明细 D1:D4 写成已复核。
把销售明细 D2 清空。
【处理后:销售明细(就地更新)】
| 订单号 | 客户 | 金额 | 备注 | 变更说明 |
|---|---|---|---|---|
| O1 | 华为技术 | 120 | 已复核 | D1 已写入 |
| O2 | 腾讯科技 | 80 | D2 先写成已复核,再被清空 | |
| O3 | 字节跳动 | 200 | 已复核 | D3 已写入 |
| O4 | 个人买家 | 50 | 已复核 | D4 已写入 |
逻辑详解:D 列对应备注;D1:D4 覆盖四行数据备注。清空只清内容,不删行、不删列。若两条指令按 1. 2. 编号串行,后一步清空吃的是已经写成「已复核」的 D2。
场景 3:两格互换与同表拷矩形
案例 A:两格互换
业务背景:第一行与第四行金额录反,需要把 C1 和 C4 对调,中间两行金额不动。
【处理前:销售明细】
| 订单号 | 客户 | 金额 | 备注 |
|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 |
| O2 | 腾讯科技 | 80 | 普通 |
| O3 | 字节跳动 | 200 | 无 |
| O4 | 个人买家 | 50 | 加急 |
【执行提示词】
把销售明细的 C1 和 C4 互换。
【处理后:销售明细(就地更新)】
| 订单号 | 客户 | 金额 | 备注 | 变更说明 |
|---|---|---|---|---|
| O1 | 华为技术 | 50 | 加急 | C1 与 C4 对调后为 50 |
| O2 | 腾讯科技 | 80 | 普通 | 未点名,保持原样 |
| O3 | 字节跳动 | 200 | 无 | 未点名,保持原样 |
| O4 | 个人买家 | 120 | 加急 | C4 与 C1 对调后为 120 |
案例 B:同表拷矩形(源只读)
业务背景:需要把前三行订单号拷到备注列起点 D1,源区订单号必须保持只读。
【处理前:销售明细】
| 订单号 | 客户 | 金额 | 备注 |
|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 |
| O2 | 腾讯科技 | 80 | 普通 |
| O3 | 字节跳动 | 200 | 无 |
| O4 | 个人买家 | 50 | 加急 |
【执行提示词】
把销售明细 A1:A3 拷到 D1。
【处理后:销售明细(就地更新)】
| 订单号 | 客户 | 金额 | 备注 | 变更说明 |
|---|---|---|---|---|
| O1 | 华为技术 | 120 | O1 | D1 接收拷贝;A1 仍是 O1 |
| O2 | 腾讯科技 | 80 | O2 | D2 接收拷贝;A2 仍是 O2 |
| O3 | 字节跳动 | 200 | O3 | D3 接收拷贝;A3 仍是 O3 |
| O4 | 个人买家 | 50 | 加急 | 不在目标矩形内,保持原样 |
逻辑详解:拷矩形是把源块取值贴到目标起点,源区只读,不会被清空。D4 不在 A1:A3 对应的三行目标里,因此备注仍为「加急」。
场景 4:跨表拷矩形
业务背景:库位源块已经核完前两行编号,对账表需要从 A1 起接收这两行,源块本身不得被改写。
【处理前:源块】
| 库位编号 |
|---|
| L01 |
| L02 |
【处理前:对账表】
| 单号 | 金额 |
|---|---|
| D01 | 100 |
| D02 | 80 |
【执行提示词】
把源块的 A1:A2 拷到对账表的 A1。
【处理后:对账表(就地更新)】
| 单号 | 金额 | 变更说明 |
|---|---|---|
| L01 | 100 | A1 被源块 A1 覆盖 |
| L02 | 80 | A2 被源块 A2 覆盖 |
逻辑详解:源块 A1:A2 仍是 L01、L02,源表只读。对账表只有 A 列被覆盖,金额列未点名,保持 100、80。
场景 5:列合计写入目标格
业务背景:对账页眉需要把销售明细金额列的合计写进 D1,金额列本身不得被改写,也不分组、不另出汇总表。
【处理前:销售明细】
| 订单号 | 客户 | 金额 | 备注 |
|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 |
| O2 | 腾讯科技 | 80 | 普通 |
| O3 | 字节跳动 | 200 | 无 |
| O4 | 个人买家 | 50 | 加急 |
【执行提示词】
把销售明细金额列求和,写入 D1。
【处理后:销售明细(就地更新)】
| 订单号 | 客户 | 金额 | 备注 | 变更说明 |
|---|---|---|---|---|
| O1 | 华为技术 | 120 | 450 | D1 写入合计 450(120+80+200+50) |
| O2 | 腾讯科技 | 80 | 普通 | 未点名,保持原样 |
| O3 | 字节跳动 | 200 | 无 | 未点名,保持原样 |
| O4 | 个人买家 | 50 | 加急 | 未点名,保持原样 |
逻辑详解:合计只写入目标格 D1,金额列 C1:C4 仍是 120/80/200/50。这不是分组汇总,也不会另写一张合计表。
场景 6:表尾补空行与写出新表
案例 A:表尾加空行
业务背景:对账表还要手工补两行未入账记录,需要先在表尾撑出 2 行空行,原有两行业务数据不得被改写。
【处理前:对账表】
| 单号 | 金额 |
|---|---|
| D01 | 100 |
| D02 | 80 |
【执行提示词】
给 “对账表” 表尾加 2 行空行。
【处理后:对账表(就地更新)】
| 单号 | 金额 | 变更说明 |
|---|---|---|
| D01 | 100 | 原行保持 |
| D02 | 80 | 原行保持 |
| 表尾新增空行 | ||
| 表尾新增空行 |
逻辑详解:行数由 2 增至 4;新行业务列为空。补空行不必先给出格子地址。
案例 B:写出新表,源表不动
业务背景:需要把 A1 改成 O99 供下游复核,但源销售明细必须保留导入原样,供对照。
【处理前:销售明细】
| 订单号 | 客户 | 金额 | 备注 |
|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 |
| O2 | 腾讯科技 | 80 | 普通 |
| O3 | 字节跳动 | 200 | 无 |
| O4 | 个人买家 | 50 | 加急 |
【执行提示词】
把销售明细 A1 改成 O99,输出 “销售明细_格子编辑”。
【处理后:销售明细(源表不改)】
| 订单号 | 客户 | 金额 | 备注 | 变更说明 |
|---|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 | 写了结果名,源表 A1 仍是 O1 |
【处理后:销售明细_格子编辑(新表)】
| 订单号 | 客户 | 金额 | 备注 | 变更说明 |
|---|---|---|---|---|
| O99 | 华为技术 | 120 | 加急 | 新表 A1 为 O99 |
| O2 | 腾讯科技 | 80 | 普通 | 其余格子与源表一致 |
| O3 | 字节跳动 | 200 | 无 | 其余格子与源表一致 |
| O4 | 个人买家 | 50 | 加急 | 其余格子与源表一致 |
场景 7:多步操作组合拳(改值 → 区域填写 → 互换)
业务背景:复核要求在同一张销售明细上连续完成三步:先改正单号,再把备注写成已复核,最后对调首末两行金额。后一步必须吃前一步已经改过的表。
【处理前:销售明细】
| 订单号 | 客户 | 金额 | 备注 |
|---|---|---|---|
| O1 | 华为技术 | 120 | 加急 |
| O2 | 腾讯科技 | 80 | 普通 |
| O3 | 字节跳动 | 200 | 无 |
| O4 | 个人买家 | 50 | 加急 |
【执行提示词】
“销售明细” :
1. 把 A1 改成 O99
2. 把 D1:D4 写成已复核
3. 把 C1 和 C4 互换
【处理后:销售明细(就地更新)】
| 订单号 | 客户 | 金额 | 备注 | 流水线执行过程 |
|---|---|---|---|---|
| O99 | 华为技术 | 50 | 已复核 | 步骤 1 改 A1 → 步骤 2 写备注 → 步骤 3 金额与 C4 对调 |
| O2 | 腾讯科技 | 80 | 已复核 | 步骤 2 写备注;金额未点名 |
| O3 | 字节跳动 | 200 | 已复核 | 步骤 2 写备注;金额未点名 |
| O4 | 个人买家 | 120 | 已复核 | 步骤 2 写备注 → 步骤 3 金额与 C1 对调 |
关键机制:第 2 步区域填写自动基于第 1 步已经改过的表执行;第 3 步互换的左侧是已经改成 O99 的那一行,而不是再拿导入原表的 O1 去换。禁止每一步都按导入原表重算。
五、 常见问题与操作贴士(FAQ)
Q1:为什么执行「格子编辑」后,左侧工作空间没有生成新表?格子怎么对不上 Excel?
答:不写结果名时,「格子编辑」默认采用就地更新(In-Place),直接改目标表,不会新增表名。
核验坐标时请记住:工作空间 A0 是表头,A1 起是第一行数据,不要按磁盘 Excel 文件里 A1 = 表头来念。若确实需要保留原表并生成新表对照,请在提示词中写出结果名,例如输出 “销售明细_格子编辑”。
Q2:查询会改表吗?清空会不会把行或列删掉?
答:查询只返回当前值,不改表,也不要写结果名。
清空只清单元格内容,不删行、不删列。表尾补空行才会增加行数;拷矩形是源只读、目标被覆盖。
Q3:在提示词中写了多步操作,它们是并行执行还是串行执行?
答:严格串行流水线执行。系统会将编号分行的多步指令(如 1. 改 A1 2. 写 D1:D4 3. 互换 C1 与 C4)按先后顺序执行。后一步永远基于前一步已经修改完成的数据进行运算。多步必须落在同一张已改过的表上,禁止每一步都按导入原表重算。
Q4:只想填空、或按值整列替换、或按区域切出更小的新表,该用哪个算子?
答:只填空、已有非空不改,请用 「缺失填充」。按值替换、去空格,请用 「行操作」。按区域切出更小的新表,请用 「表格截取」。「格子编辑」负责按地址改格、清空、互换、拷矩形和表尾补空行,不会把一块区域变成一张更小的新表。
六、 关联算子导航
- 若只需填空单元格、已有非空不改:请参考 数据处理 · 缺失填充
- 若需对单元格内部的字符串进行去空格、按值替换:请参考 数据处理 · 行操作
- 若需按区域切出行列更少的新表:请参考 数据处理 · 表格截取
- 欲下载真实数据表格亲自动手实测:请查阅 数据案例 · 格子编辑案例