跨表汇总

把多文件 / 多 sheet 的同结构表按分组键聚合:选一个或多个分组键,把要汇总的列勾上想要的聚合方式(求和 / 计数 / 平均 / 最大 / 最小),一键导出新的「一张总表」。

同结构直接拼 不同构报详情 1~3 分组键 5 种聚合

把 1 个或多个文件拖到这里

支持 .xlsx / .xls / .csv,第一行作为表头

点击空白处也能选文件

最佳实践

先看结构体检

文件上传后会自动扫一遍所有上游 sheet 的列名。同结构直接拼,不同构会列出每个文件的缺/多列。不同构仍可继续汇总(缺失列补空字符串),但要先看清再点「开始汇总」。

分组键 = 行级唯一组合

复合分组键 = 几个列拼出唯一值。比如「日期 + 客户」会把同一天同一客户的金额合并。比单分组键粒度更细,但行数更多;新手从 1 个分组键开始试。

聚合方式按列意选

求和:金额 / 数量;计数:原始行数;平均:单价 / 时长;最大 / 最小:峰值 / 谷值(如最高库存、最低温度)。文本列硬要「求和」= 空。

复合键的纯文本工具同款

本工具与「自然语言查表」共享「按列分组聚合」这套底层逻辑,但本工具不调 AI、不出查询计划——结构体检 + 分组聚合完全在你浏览器里跑,文件不出网。

常见问题

单文件多 sheet 和多文件有什么区别?
数据上没区别,只是入口不同。单文件多 sheet = 上传一份 .xlsx 包含 N 个 sheet,每个 sheet 算一块;多文件 = 上传 N 个 .xlsx / csv,每个文件的「第一个 sheet」算一块。混合(多文件,且某些文件有多个 sheet)当前不在 v1 范围内——先用单文件多 sheet 把它们合成一份。
不同列名怎么处理?
结构体检会列出每个文件的「缺列」和「多列」。不一致的列名(如「金额」 vs 「总价」)默认视为两列——这是 v1 的硬约束,避免把不同语义的列当同列算。下一版本再上「按列名同义词映射」。
为什么聚合结果是空字符串?
两种情况:① 聚合列全是文本或空白(比如「金额」列里都是「N/A」)→ 求和 / 平均 / 最大 / 最小 给空(不是 0);② 不同构时某个文件没有这一列 → 那一块贡献 0 行。预览区会用「警告」面板提示。
会执行公式或把数据发到云吗?
不会。本工具是纯本地汇总:上传上来的字节流只在你浏览器内存里跑一次 SheetJS 解析、对齐、聚合、写入。零网络请求、零 AIxls 后台。唯一会写进浏览器的东西是「方案」——只有列名和选项,没有数据行(见下条)。
「方案」会存下我的表格数据吗?
不会。方案里只有列名和选项——哪几列当分组键、哪些列求和/计数/平均、上游是单文件多 sheet 还是多文件,没有一个单元格的值。它只存在你自己浏览器的 localStorage 里(不点「存为方案」就什么都不写),也可以随时点「删除这个方案」清掉。下载的 .aixls 文件用记事本打开就能自己核对。
能自定义聚合逻辑吗?
v1 不开。下个版本会加「合并后的自定义列公式」,先看真实用法决定优先级。

按分组键聚合,跟 Excel「数据透视表」逻辑一致

选文件 → 看结构 → 选分组键 + 聚合 → 下载。零公式、零 AI、零上传。

处理中…