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

如何从Google表格各工作表提取数据?批量填充指定单元格方法

解决Google多工作表数据提取及批量引用问题

一、批量将Sheet1-Sheet199的B2填充到Sheet200的A列

方法1:Google Apps Script(高效推荐)

通过脚本自动完成批量填充,步骤如下:

  1. 打开目标Google表格,点击顶部菜单栏「扩展程序」→「Apps脚本」
  2. 删除编辑器默认代码,粘贴以下脚本:
function fillSheet200() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const targetSheet = ss.getSheetByName('Sheet200');
  // 可选:清空目标列原有内容
  targetSheet.getRange('A:A').clearContent();
  
  const sheets = ss.getSheets();
  let rowNum = 1;
  sheets.forEach(sheet => {
    const sheetName = sheet.getName();
    if (sheetName !== 'Sheet200') {
      const b2Value = sheet.getRange('B2').getValue();
      targetSheet.getRange(rowNum, 1).setValue(b2Value);
      rowNum++;
    }
  });
}
  1. 点击编辑器顶部「运行」按钮,首次运行需按提示完成权限授权
  2. 运行结束后,Sheet200的A列会自动填充所有其他工作表的B2单元格内容

方法2:数组公式+自定义函数(无脚本方案)

如果不想使用脚本,可通过生成工作表名称列表+间接引用实现:

  1. 同样打开Apps Script编辑器,添加自定义函数:
function GETALLSHEETNAMES() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  return ss.getSheets().map(sheet => sheet.getName()).filter(name => name !== 'Sheet200');
}
  1. 返回表格,在Sheet200的A1单元格输入=GETALLSHEETNAMES(),自动生成Sheet1到Sheet199的名称列表
  2. 在A1单元格的公式结果上,右键选择「复制」→「粘贴为数值」,固定工作表名称
  3. 在A1单元格(或新列)输入=INDIRECT(A1&"!B2"),下拉填充至所有行,即可批量获取对应工作表的B2值

二、通用的多工作表数据提取方法

1. 基础跨表引用

提取单个工作表的数据,直接使用格式:=工作表名称!单元格/区域地址,例如=Sheet1!A1:C10可引用Sheet1的A1至C10区域。

2. 批量提取统一区域数据到汇总表

若需将所有工作表的相同区域(如每个表的A1:B10)汇总到一个工作表,可使用以下脚本:

function extractAllSheetsData() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const summarySheet = ss.getSheetByName('汇总表'); // 需先创建名为「汇总表」的工作表
  summarySheet.clearContents();
  
  ss.getSheets().forEach(sheet => {
    const targetData = sheet.getRange('A1:B10').getValues();
    // 追加数据时带上工作表名称作为标识
    targetData.forEach(row => {
      summarySheet.appendRow([sheet.getName(), ...row]);
    });
  });
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:48:14