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

Google Apps Script优化:自动获取列唯一值替代手动输入筛选

自动提取唯一值拆分工作表的优化方案

以下是修改后的代码,可自动从RawData工作表第4列(Product Type)提取唯一值,替代手动输入的筛选列表:

function getSubsetDataComplaints() {
  const shName = "RawData";
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const [headers, ...values] = ss.getSheetByName(shName).getDataRange().getValues();

  // 自动提取第4列(索引3)的非空唯一值作为筛选列表
  const list = [...new Set(values.map(row => row[3]).filter(val => val !== ''))];

  list.forEach(elem => {
    // 精确匹配Product Type(替代原includes,避免模糊匹配错误)
    const result = [headers, ...values.filter(row => row[3] === elem)];
    const sheet = ss.insertSheet(elem);
    sheet.getRange(1, 1, result.length, result[0].length).setValues(result);
  });
}

关键改动说明:

  • 自动提取唯一值:通过values.map(row => row[3])提取所有Product Type值,再用Set自动去重,最后转成数组。加入filter(val => val !== '')过滤空值,防止生成名称为空的无效工作表。
  • 精确匹配优化:将原代码的r[3].includes(elem)改为row[3] === elem,因为筛选值本身就是从原数据中提取的唯一值,精确匹配更准确,避免类似"Food"与"Fast Food"这类模糊匹配的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:58:33