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

如何在Google Sheets中自动补全缺失日期以生成完整余额图表?

生成Google Sheets全日期余额序列的两种方案(公式+脚本)

一、公式法(无需代码,快速实现)

适合数据量不大、偏好手动操作的场景:

  1. 生成完整日期序列
    在新工作表(比如命名为「每日余额」)的A2单元格输入公式,自动生成从第一条记录到最后一条记录的所有日期:

    =SEQUENCE(MAX(Sheet1!A:A)-MIN(Sheet1!A:A)+1,1,MIN(Sheet1!A:A))
    

    (把Sheet1替换成你的原始数据工作表名称)

  2. 匹配每日余额
    在B2单元格输入公式,自动继承上一次交易后的余额(无交易日期沿用前一天余额):

    =XLOOKUP(A2,Sheet1!A:A,Sheet1!D:D,"",-1)
    

    下拉填充整列后,就能得到每个日期对应的余额数据。

二、App Script法(自动化,适合大数据量)

如果需要定期更新或数据量较大,用脚本自动生成更高效:

  1. 打开Google Sheets的「扩展」→「Apps脚本」,清空默认代码,粘贴以下脚本:
    function fillDailyBalance() {
      const ss = SpreadsheetApp.getActiveSpreadsheet();
      const sourceSheet = ss.getSheetByName("Sheet1"); // 替换为你的原始表名
      const targetSheet = ss.getSheetByName("每日余额") || ss.insertSheet("每日余额");
      const data = sourceSheet.getDataRange().getValues();
      
      // 提取有效日期和余额数据
      const dateBalancePairs = data.slice(1).filter(row => row[0])
        .map(row => [new Date(row[0]), row[3]]);
      if (dateBalancePairs.length === 0) return;
      
      // 确定日期范围
      const startDate = new Date(Math.min(...dateBalancePairs.map(p => p[0])));
      const endDate = new Date(Math.max(...dateBalancePairs.map(p => p[0])));
      
      // 构建每日余额数组
      const result = [["日期", "每日余额"]];
      let currentBalance = dateBalancePairs[0][1];
      let currentDate = new Date(startDate);
      
      while (currentDate <= endDate) {
        // 检查当日是否有交易记录,更新余额
        const dailyRecord = dateBalancePairs.find(p => 
          p[0].toDateString() === currentDate.toDateString()
        );
        if (dailyRecord) currentBalance = dailyRecord[1];
        
        result.push([new Date(currentDate), currentBalance]);
        currentDate.setDate(currentDate.getDate() + 1);
      }
      
      // 写入目标工作表并格式化
      targetSheet.clear();
      targetSheet.getRange(1, 1, result.length, result[0].length).setValues(result);
      targetSheet.getRange(2, 1, result.length - 1, 1).setNumberFormat("yyyy-mm-dd");
    }
    
  2. 修改脚本中的Sheet1为你的原始数据工作表名称,点击保存并运行,授权后即可在「每日余额」工作表生成全日期余额数据。

三、制作余额趋势图表

不管用哪种方法生成数据后,选中「日期」和「每日余额」列,插入折线图,就能直观看到余额的变化趋势,轻松识别余额稳定的时间段。

内容的提问来源于stack exchange,提问作者Morteza Sabouri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:35:25