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

如何将填写完成的排班表全量员工月度数据导出至另一张工作表

Google Sheets排班表数据导出操作指南

方法1:函数动态同步(无需代码,实时更新)

适合需要数据随源排班表自动同步的场景,用QUERY函数实现:

  1. 新建空白工作表作为导出目标页
  2. 点击目标页A1单元格,输入对应公式:
    • 导出所有非空排班数据(包含全部列):
      =QUERY(排班表!A:Z, "SELECT * WHERE A IS NOT NULL", 1)
    • 仅导出指定月份的排班数据(以2024年5月为例,C列为排班开始日期):
      =QUERY(排班表!A:Z, "SELECT * WHERE A IS NOT NULL AND C >= date '2024-05-01' AND C <= date '2024-05-31'", 1)
    • 仅导出指定字段(如员工姓名、开始日期、结束日期三列,对应A、C、D列):
      =QUERY(排班表!A:Z, "SELECT A,C,D WHERE A IS NOT NULL", 1)

参数说明:公式中排班表替换为你的源排班表工作表名称,A:Z替换为源表实际数据范围,末尾的1代表源表包含1行表头,有多行表头就修改为对应数值。

方法2:Apps脚本导出(适合复杂场景,可定时自动运行)

适合需要批量处理、定时同步的场景,操作步骤如下:

  • 点击Google Sheets顶部菜单栏「扩展程序」→「Apps脚本」进入脚本编辑器
  • 删除默认的空白代码,粘贴以下代码:
function exportScheduleData() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 替换为你的源排班表名称
  const sourceSheet = ss.getSheetByName('排班表');
  // 替换为你要导出的目标表名称,不存在会自动新建
  const targetSheet = ss.getSheetByName('全量导出数据') || ss.insertSheet('全量导出数据');

  // 读取源表全部有效数据
  const sourceData = sourceSheet.getDataRange().getValues();
  
  // 清空目标表原有内容后写入新数据
  targetSheet.clearContents();
  targetSheet.getRange(1, 1, sourceData.length, sourceData[0].length).setValues(sourceData);
  
  // 可选:自动适配列宽
  targetSheet.autoResizeColumns(1, sourceData[0].length);
}
  • 点击保存按钮,首次运行需要授权脚本访问你的表格权限,授权完成后点击运行即可完成导出,也可以在脚本编辑器的「触发器」页面设置定时运行规则,实现每日/每周自动同步导出。

注意事项

  • 源排班表如果存在合并单元格,需要先取消合并并填充完整所有单元格内容,不然导出会出现空值
  • 使用QUERY函数时请确保日期列的单元格格式为「日期」类型,不要设置为纯文本,否则日期筛选规则会失效
  • 导出后如果需要固定数值不随源表变动,选中目标表所有数据按Ctrl+C复制,再右键选择「选择性粘贴」→「仅粘贴值」即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:27:02