在数据复核与对账链路中,分析师经常要按格子地址改一个单号、把一整块区域写成复核状态、把两格对调、把一块矩形拷到同表另一处或另一张表的起点,以及在表尾补出空行。坐标一旦按磁盘 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:只想填空、或按值整列替换、或按区域切出更小的新表,该用哪个算子?

答:只填空、已有非空不改,请用 「缺失填充」。按值替换、去空格,请用 「行操作」。按区域切出更小的新表,请用 「表格截取」。「格子编辑」负责按地址改格、清空、互换、拷矩形和表尾补空行,不会把一块区域变成一张更小的新表。

六、 关联算子导航