You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多结构动态Sheet合并为统一Sheet制作现金流报告

多银行账户交易数据合并解决方案

核心思路

针对不同布局的银行账户Sheet,逐个映射其列到统一结构(Date、Amount、Category、Reference、Tab Name),再合并所有映射结果,最后通过QUERY函数过滤空行并按日期排序,生成动态更新的汇总表。

具体实现步骤

  1. 创建新Sheet命名为统一汇总表,用于存放合并后的数据。
  2. 在该Sheet的A2单元格输入以下动态合并公式(需根据实际Sheet列映射调整):
=QUERY({
  // 映射第一个银行账户Sheet(示例:Leumi)
  ARRAYFORMULA(IFERROR({'Leumi'!A2:A, 'Leumi'!C2:C, 'Leumi'!D2:D, 'Leumi'!B2:B, "Leumi"})),
  // 映射第二个银行账户Sheet(示例:Hapoalim)
  ARRAYFORMULA(IFERROR({'Hapoalim'!B2:B, 'Hapoalim'!D2:D, 'Hapoalim'!E2:E, 'Hapoalim'!C2:C, "Hapoalim"})),
  // 映射第三个银行账户Sheet(示例:Mastercard)
  ARRAYFORMULA(IFERROR({'Mastercard'!A2:A, 'Mastercard'!C2:C, 'Mastercard'!D2:D, 'Mastercard'!B2:B, "Mastercard"}))
}, "SELECT * WHERE Col1 IS NOT NULL ORDER BY Col1 ASC", 0)

公式细节说明

  • {}:垂直堆叠多个Sheet的映射数据数组,实现多表合并。
  • ARRAYFORMULA(IFERROR(...)):批量处理整列数据,自动忽略空行引发的错误。
  • 每个映射块结构为:[Date列, Amount列, Category列, Reference列, "Sheet名称"],需根据各银行Sheet的实际列位置修改对应引用。
  • QUERY(..., "SELECT * WHERE Col1 IS NOT NULL ORDER BY Col1 ASC", 0):过滤无日期的空行,并按日期升序排序(将ASC改为DESC可切换为降序)。
  1. 为汇总表添加表头:在A1单元格上方插入一行,依次输入Date、Amount、Category、Reference、Tab (sheet) Name。

后续使用

  • 动态更新:当各银行Sheet新增交易数据时,统一汇总表会自动同步更新。
  • 数据透视表:直接基于统一汇总表创建数据透视表,即可实现动态仪表盘的数据源同步。

内容的提问来源于stack exchange,提问作者Kobi Cohen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:55:16