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

Google Apps Script获取文件夹内各表格指定列最小值汇总方法

文件夹内多表格指定列最小值汇总实现方案

你的初始代码已经完成了文件名、文件ID的基础抓取,新增单表数值列最小值提取的逻辑可以按以下方式实现,你后续调整的版本已经覆盖核心逻辑,这里补充异常兼容、边界处理后的可用版本,以及对应注意事项:

核心逻辑说明

  • 遍历文件时先过滤非电子表格类型文件,避免打开非表格文件触发报错
  • 逐个打开目标文件后,定位到存数值的指定工作表
  • 读取目标数值列的所有单元格内容,通过正则提取有效数字,过滤空值、非数值内容
  • 对提取到的有效数字数组取最小值,和文件名、ID一起写入汇总数组
  • 最后统一把汇总结果写入当前活动工作表

注意事项

  • 代码里的文件夹ID需要替换成你实际的目标文件夹ID
  • 工作表名"Google Pixel 2"需要和所有待统计文件里存数值的工作表名一致,如果要默认取每个文件的第一个工作表,把对应代码替换为SpreadsheetApp.open(file).getSheets()[0]即可
  • 当前代码默认读取C列数值,如果你的数值存放在其他列,修改getRange参数里的列标即可,比如读取E列就改为"E1:E" + lastRow
  • 内置的正则提取逻辑兼容单元格带文字后缀/前缀的场景,比如单元格内容为"最低值:-2.5"也能正确提取数字计算,如果你的单元格本身就是纯数字格式,该逻辑也可正常运行

可直接运行的完整代码

function list_all_files_inside_a_folder() {
  var sh = SpreadsheetApp.getActiveSheet();
  var folder = DriveApp.getFolderById('替换为你的目标文件夹ID');
  var list = [['Name', 'ID', 'lowest number']];
  // 仅遍历文件夹内的Google电子表格文件
  var files = folder.getFilesByType(MimeType.GOOGLE_SHEETS);
  while (files.hasNext()) {
    var file = files.next();
    try {
      // 定位到目标工作表
      var sheet = SpreadsheetApp.open(file).getSheetByName("Google Pixel 2");
      if (!sheet) {
        list.push([file.getName(), file.getId(), '未找到指定工作表']);
        continue;
      }
      var lastRow = sheet.getLastRow();
      var validNums = [];
      // 读取C列所有单元格内容,提取有效数值
      if (lastRow >= 1) {
        var colValues = sheet.getRange("C1:C" + lastRow).getDisplayValues();
        for (var i = 0; i < colValues.length; i++) {
          var cellContent = colValues[i][0].toString().trim();
          if (!cellContent) continue;
          var numPart = cellContent.match(/[\d.-]+/);
          if (numPart && !isNaN(Number(numPart[0]))) {
            validNums.push(Number(numPart[0]));
          }
        }
      }
      // 处理列内无有效数值的边界情况
      var minValue = validNums.length ? Math.min(...validNums) : '无有效数值';
      list.push([file.getName(), file.getId(), minValue]);
    } catch (error) {
      list.push([file.getName(), file.getId(), '读取失败:' + error.message]);
    }
  }
  // 清空工作表原有内容后写入汇总结果
  sh.clearContents();
  sh.getRange(1, 1, list.length, list[0].length).setValues(list);
}

脚本首次运行时会弹出Google授权提示,给足对应权限即可正常运行,不要在共享表格里给陌生脚本开放权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 01:18:16