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

Google Apps Script实现将单元格值写入表格而非文本的方法

解决Google Sheets脚本中单元格值引用问题

你的问题在于直接把"A4""H4"这类字符串写入了目标表,而非引用源表LP对应单元格的实际值。可以通过先将源行数据存入数组,再通过列索引调用对应值的方式解决,同时处理日期计算需求,修改后的代码如下:

function example2() {
  var Cop = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("GO");
  var LP = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("0_Test-LISTE PROJETS");

  // 获取LP表第4行(A4:V4)的所有值,转为一维数组方便调用
  var sourceRow = LP.getRange('A4:V4').getValues()[0];
  
  // 保留原有整行测试写入逻辑
  Cop.getRange('A1:V1').setValues([sourceRow]);

  // 提取源行中需要用到的单元格值
  const colA = sourceRow[0];    // A4的值
  const colH = sourceRow[7];    // H4的值
  const colJ = sourceRow[9];    // J4的值
  const colQ = sourceRow[16];   // Q4的值
  const colR = sourceRow[17];   // R4的值
  const colT = sourceRow[19];   // T4的值
  const colU = sourceRow[20];   // U4的值

  // 计算R4+7天的日期(需确保R4为日期格式)
  const rPlus7Days = new Date(colR);
  rPlus7Days.setDate(rPlus7Days.getDate() + 7);

  // 构建目标数据数组,直接使用实际值
  const targetData = [
    [colA, colH, colJ, colQ, colU, 'color red'],//project lenght
    [colA, colH, colJ, colQ, colR, 'color BLUE'],//research lenght
    [colA, colH, colJ, colR, rPlus7Days, 'color white'],//waiting for client
    [colA, colH, colJ, rPlus7Days, colT, 'color green'],//production time
    [colA, colH, colJ, colT, colU, 'color purple']//installation on site
  ];

  // 将目标数据写入Cop表的A2:F6区域
  Cop.getRange('A2:F6').setValues(targetData);
}

核心逻辑说明:

  • 用getValues()[0]把二维的行数据转为一维数组,通过列索引(从0开始计数)直接调用对应单元格的值
  • 日期计算通过Date对象的setDate()方法实现,确保生成的是合法日期格式而非文本
  • 所有写入值均直接从源行数组提取,彻底避免写入"A4"这类字符串的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:53:23