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

如何用Google App Script查找D列从第4行开始的最后一个有数据的行

Google App Script 查找D列从第4行开始最后一个非空行的解决方案

核心思路

  • 先拉取D列第4行到表格最后一行的所有值,避免遍历整列浪费性能
  • 倒序遍历拉取到的数值数组,遇到第一个非空值就换算对应行号返回,不用遍历所有内容
  • 判断空值时额外过滤纯空格、空字符串的情况,避免公式返回空、误输入空格导致的判断错误

可直接运行的代码示例

function getLastDataRowOfColumnD() {
  // 可替换为getSheetByName("你的工作表名")指定工作表
  const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const searchStartRow = 4; // 搜索起始行
  const columnDIndex = 4; // D列对应的列编号
  // 获取D列从第4行开始的所有单元格内容
  const rowCount = targetSheet.getLastRow() - searchStartRow + 1;
  const columnValues = targetSheet.getRange(searchStartRow, columnDIndex, rowCount, 1).getValues();

  // 倒序查找第一个非空单元格
  for (let i = columnValues.length - 1; i >= 0; i--) {
    const currentVal = columnValues[i][0];
    if (currentVal !== "" && String(currentVal).trim() !== "") {
      // 数组下标从0开始,加上起始行就是实际表格行号
      return i + searchStartRow;
    }
  }
  // 第4行及以下全为空的场景返回null
  return null;
}

补充说明

如果你需要过滤公式返回的空值,或者有其他特殊空值判定规则,只需要修改if判断里的条件即可
调用该函数即可直接拿到目标行号,也可以根据需求修改起始行、指定列号适配其他搜索场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 20:15:03