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

Google Sheets:将A2的NOW()值复制到B列首个空白单元格

解决Google Sheets写入B列首个空白单元格的问题

你的问题出在getLastRow()是判断整个工作表最后一行是否有数据,而非单独B列。当C列有内容时,getLastRow()会返回C列所在的行号,导致代码跳过B列的空白单元格直接写入下一行。

修改后的代码专门针对B列查找首个空白单元格:

function copy() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var svA = ss.getRange('A2').getValue();
  var tsh = ss.getSheetByName('SheetName');
  
  // 获取B列已使用区域的所有值
  var bColumnValues = tsh.getRange(1, 2, tsh.getLastRow(), 1).getValues();
  var targetRow = 1;
  
  // 遍历B列,定位第一个空白单元格
  for (var i = 0; i < bColumnValues.length; i++) {
    if (bColumnValues[i][0] === "") {
      targetRow = i + 1;
      break;
    }
  }
  
  // 若B列已用区域无空白,写入下一行
  if (targetRow > bColumnValues.length) {
    targetRow = bColumnValues.length + 1;
  }
  
  tsh.getRange(targetRow, 2).setValue(svA);
}

代码说明:

  • 仅获取B列已使用行的数据,避免遍历整列浪费资源
  • 循环遍历B列值,精准定位第一个空白单元格的行号
  • 若B列已用行全部有数据,则自动写入下一行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:27:52