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

基于条件遍历行:提取Google表格中符合条件的列表

解决方案

直接给你修改后的完整代码,完全匹配你的需求:

function setfieldsdefaults() {
  var form = FormApp.openById('mygoogleformsID');
  var items = form.getItems();

  // 原表单查看代码保留,你可按需启用
  // for (var i in items) {
  //   console.log(items[i].getTitle() + ' - ' + items[i].getId())
  // }

  var question = form.getItemById('myquestionID');
  var ss = SpreadsheetApp.openById('mysreadsheetID');
  var sheet = ss.getSheetByName('Abonnés');
  
  // 关键调整:获取第6列(F)和第7列(G)的数据,从第2行(跳过表头)到最后一行
  var range = sheet.getRange(2, 6, sheet.getLastRow() - 1, 2);
  var data = range.getValues();
  
  var enfants = [];
  
  // 遍历每一行,筛选符合条件的名称
  for (var i = 0; i < data.length; i++) {
    var rowStatus = data[i][1]; // 第7列对应数组索引1
    var rowName = data[i][0];   // 第6列对应数组索引0
    
    if (rowStatus === 'P' && rowName !== '') {
      enfants.push(rowName);
    }
  }
  
  // 去重(可选)+ 排序
  enfants = [...new Set(enfants)].sort();
  
  console.log(enfants);
}

核心修改说明:

  • 数据范围调整:getRange(2, 6, sheet.getLastRow() - 1, 2) 精准获取需要的两列数据,避免多余计算。
  • 筛选逻辑实现:循环遍历每行数据,判断第7列是否为P,同时排除空名称,符合条件就加入列表。
  • 去重处理:用[...new Set(enfants)]自动去除重复名称,不需要的话可以直接删掉这部分。
  • 索引对应关系:表格列从1开始计数,但数组索引从0开始,所以第7列对应数组的第1个元素,别搞混。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:52:24