宽表对账时,分析师往往只要订单号、客户、金额几列,或只要前几行样本核对格式;一个工作簿里又常有华东、华北多张工作表,只要其中一张。源表还要留给其它节点继续用。

如果靠在 Excel 里删列、隐藏列或另存副本,很容易误伤源表,按「A:C」还是「只要前三列」的说法也不统一,更难以在工作流里复跑。

DT-Bot 的 「表格截取」 算子专为解决此类按 Excel 区域从一张表(或磁盘上的 xlsx/csv/txt/json)切出需要的列和行而设计。它支持按列区、列清单、行号、行列一块以及工作表切片,也可整份导入。默认写成工作空间里的新表,源表还在,除非明确说覆盖。不改单元格内容。要去空格、替换请用「行操作」;按地址查改某一格、不切出新表,请用「格子编辑」;筛行留一张请用「筛选器」;只要改列名请用「表头整理」;跨表按键补列请用「匹配填充」。

工作空间已导入的表:列字母 A 起对应第一列业务列;写了行号时,第 1 行是第一行数据(表头已经是列名)。磁盘 xlsx:A1 是格子坐标,第一行通常是表头。

一、 核心能力与适用场景

「表格截取」算子聚焦于切片另存、源表只读,覆盖以下核心能力:

核心能力 解决什么业务问题 典型业务场景
按连续列区截取 只要一段连续列,全部行写入新表。 财务只要订单号、客户、商品编码(A:C)去做对账,其余列先不要。
按列清单截取 只要不连续的若干列,按点名顺序写出。 只要订单号、商品编码、金额(A、C、E),中间列不带上。
按行列一块截取 同时限定列范围与行范围。 只要 A1:D3 这一块做抽查,不要整表。
按行号截取 只要指定行,列保持全表。 只要前 20 行(或 1:2)样本核对格式,不用整表。
按工作表切片 / 整份导入 从工作簿点名某一个 sheet,或把 csv/txt/json/xlsx 整份推进工作空间。 销售报表里只要「华东」那一张;或把名单.csv 整份导入。

二、 边界指南:它与相近算子有何区别?

在构建数据工作流时,理解算子之间的职责边界至关重要:

比较维度 「表格截取」算子 「筛选器」算子 「表头整理」算子 「格子编辑」算子
主要定位 按列区 / 列清单 / 行号 / 工作表切片成新表 按行条件抽出子集另存 改列名、删列、调列序 按地址读写格子,不切新表
输出机制 默认新表,源表还在(除非明确说覆盖) 保留源表,生成独立新表 就地或另存 查询不改表;写入默认就地
典型动作 A:C、A,C,E、A1:D20、1:20、点名工作表 金额大于 100、状态为已支付 把字段改成业务名、删备注列 改 D2、拷一块矩形
如何选择 “只要前三列 / 前两行,源表别动” “从总表里挑出大额订单单独分析” “列都要留,只是改名或换顺序” “只改某一个格子,不要切出新表”

三、 提示词编写规范与公式

「表格截取」算子支持自然语言直接表达,建议遵循以下标准的三要素编写公式:

【源表或磁盘文件】 + 【范围(列区 / 列清单 / 行号 / 工作表)】 + 【结果名(可选)】

1. 目标表范围表达

  • 工作空间表:把 “订单明细” 的 … 截出来;
  • 磁盘文件:把 “销售报表.xlsx” 的 “华东” 工作表导入、把 “名单.csv” 导入工作空间;
  • 结果名可选:写了则用该名;不写则按源表名加区域自动命名。不覆盖源表,除非明确说覆盖。

2. 核心操作动作表达

  • 连续列区:A:C 列(A 到 C 列,全部行);
  • 列清单:A、C、E 列;
  • 行列一块:A1:D3;
  • 只截行:第 1 到第 2 行 或 按 1:2;
  • 工作表:“华东” 工作表,也可写成导入第 1 个工作表。

3. 可复制示例

把 “订单明细” 的 A:C 列截出来,输出 “订单明细_对账”。

对应三段:源是订单明细;范围是 A 到 C 列、全部行;结果叫「订单明细_对账」。

四、 核心功能与图解实战

以下结合真实企业数据场景,展示「表格截取」在不同需求下的处理效果:

场景 1:按连续列区截取(A:C)

业务背景:财务只要订单号、客户名称、商品编码三列去做对账,数量和金额这一步先不要;原「订单明细」还要留给其它节点。

【处理前:订单明细】

订单号 客户名称 商品编码 数量 金额
O1 华为 S001 2 20
O2 阿里 S002 1 20

【执行提示词】

把 “订单明细” 的 A:C 列截出来。

【处理后:新表(按源表名加区域自动命名)】

订单号 客户名称 商品编码 变更说明
O1 华为 S001 仅 A 到 C 列
O2 阿里 S002 数量、金额未带入新表

逻辑详解:源表「订单明细」五行五列保持原样。需要自己点名结果表时,写成:

把 “订单明细” 的 A:C 列截出来,输出 “订单明细_对账”。

或:

把 “订单明细” 的 A:C 列截出来,输出 “订单对账底稿”。

新表分别叫「订单明细_对账」「订单对账底稿」;只有明确说「覆盖原表」时才写回源表。


场景 2:按列清单截取(不连续列)

业务背景:对账只要订单号、商品编码、金额,中间的客户名称、数量不必带上。

【处理前:订单明细】(同场景 1)

订单号 客户名称 商品编码 数量 金额
O1 华为 S001 2 20
O2 阿里 S002 1 20

【执行提示词】

把 “订单明细” 的 A、C、E 列截出来。

【处理后:新表(按源表名加区域自动命名)】

订单号 商品编码 金额 变更说明
O1 S001 20 A、C、E,跳过 B、D
O2 S002 20 源表「订单明细」仍为五列

逻辑详解:列按清单点名写出,不是一段连续区。单元格内容不做清洗。


场景 3:按行列一块截取(A1:D3)

业务背景:宽表很大,财务只要左上角一块(前 4 列、前 3 行数据)核对字段是否对得上,再决定要不要整表加工。

【处理前:订单明细】

订单号 客户名称 商品编码 数量 金额
O1 华为 S001 2 20
O2 阿里 S002 1 20
O3 腾讯 S001 5 50
O4 字节 S003 3 45

【执行提示词】

把 “订单明细” 的 A1:D3 截出来。

【处理后:新表(工作空间表:前 3 行数据、A 到 D 列)】

订单号 客户名称 商品编码 数量 变更说明
O1 华为 S001 2 第 1 行数据
O2 阿里 S002 1 第 2 行数据
O3 腾讯 S001 5 第 3 行数据;O4 与金额列未纳入

逻辑详解:工作空间表写了行号时,第 1 行是第一行数据(表头已经是列名),因此 A1:D3 是前 3 行、A 到 D 列。源表四行五列仍在。


场景 4:按行号截取(只要前几行、全部列)

业务背景:只要前 2 行样本核对格式,列要全,不要整表。

【处理前:订单明细】(同场景 3 的四行五列)

订单号 客户名称 商品编码 数量 金额
O1 华为 S001 2 20
O2 阿里 S002 1 20
O3 腾讯 S001 5 50
O4 字节 S003 3 45

【执行提示词】

把 “订单明细” 的第 1 到第 2 行截出来。

或:

把 “订单明细” 按 1:2 截出来。

【处理后:新表(前 2 行、全部列)】

订单号 客户名称 商品编码 数量 金额 变更说明
O1 华为 S001 2 20 第 1 行数据
O2 阿里 S002 1 20 第 2 行数据;O3、O4 未纳入

逻辑详解:只截行时列保持全表;源表「订单明细」四行不变。


场景 5:指定工作表(只要其中一个 sheet)

业务背景:销售报表工作簿里有华东、华北、汇总三张工作表,本期只要「华东」做区域对账,其它 sheet 不要推进当前底稿。

【处理前:销售报表.xlsx】(三个工作表:华东、华北、汇总)

华东:

月份 销售额 成本
1月 100 60
2月 120 70

【执行提示词】

把 “销售报表.xlsx” 的 “华东” 工作表导入。

【处理后:新表(仅华东)】

月份 销售额 成本 变更说明
1月 100 60 只导入「华东」
2月 120 70 华北、汇总未写入这张结果

逻辑详解:只得到华东这一张表。也可以写成:导入销售报表的第 1 个工作表。磁盘 xlsx 的 A1 是格子坐标,第一行通常是表头。


场景 6:整份导入磁盘文件

业务背景:名单在 csv 里,这一步不需要切列切行,整份推进工作空间即可;xlsx / txt / json 同样可以整份导入。

【处理前:名单.csv】(磁盘文件,不写区域表示整张)

工号 姓名 部门
001 张三 人事部
002 李四 销售部

【执行提示词】

把 “名单.csv” 导入工作空间。

【处理后:新表(整份导入)】

工号 姓名 部门 变更说明
001 张三 人事部 未写区域,整张进入工作空间
002 李四 销售部 csv / txt / json / xlsx 均可这样导入

逻辑详解:xlsx 多工作表时,每个 sheet 一张表。源文件仍在磁盘上,工作空间得到导入结果,不覆盖未点名的其它表。

五、 常见问题与操作贴士(FAQ)

Q1:截取之后,源表「订单明细」还在吗?为什么有时看不到我起的名字?

答:默认写出新表,不覆盖源表。不写结果名时,新表按源表名加区域自动命名,所以不一定叫「订单明细」。需要固定名字时请写 输出 “订单对账底稿”。只有明确说「覆盖原表」才会写回源表。

Q2:会不会改到源表单元格,或把没点名的列、行一并切走?

答:不会改单元格内容。范围以提示词里的列区、列清单、行号或工作表名为准:A:C 不会带上 D 列;1:2 不会带上第 3 行;点名「华东」不会把华北写进同一张结果。未点名的工作空间表保持只读。

Q3:连续截取多次要注意什么?工作空间行号和磁盘 xlsx 一样吗?

答:每跑一次都会(默认)再落一张新表,源表一直还在,连续跑容易堆出多张切片副本,请写清输出名以免重名混淆。工作空间已导入的表:A 起是第一列业务列,第 1 行是第一行数据(表头已经是列名)。磁盘 xlsx:A1 是格子坐标,第一行通常是表头。同一句 A1:D3 在两种源上含义不同,写提示词前先分清源是工作空间表还是磁盘文件。

六、 关联算子导航