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

如何在Google Apps Script中将valores数组值粘贴到valValues指定位置

解决数组值从指定位置填充的问题

要将valores数组的内容填充到valValues数组每个子数组的第3到第15位(对应数组索引2到14),可以按照以下逻辑实现:

核心处理逻辑

  • 由于valValues和valores是在同一个forEach循环中生成的,两者长度完全匹配,可按索引一一对应处理
  • 对每个valValues的子数组,从索引2(第3个元素)开始,依次替换为valores对应子数组的元素
  • 自动适配长度差异:如果valores的子数组元素不足13个(第3到15位共13个位置),剩余位置保留空白;如果元素超出13个,仅取前13个填充

修改后的完整代码片段

在现有代码的Logger.log语句前,添加填充逻辑并补充写回表格的操作:

function importarTareasGlobal23(){

  ... // 原有代码

  var filasDestino = sheetCalendario.getRangeList(['E4:E18', 'H4:H18', 'K4:K18', 'N4:N18', 'Q4:Q18', 'T4:T18', 'W4:W18', 'E20:E34', 'H20:H34', 'K20:K34', 'N20:N34', 'Q20:Q34', 'T20:T34', 'W20:W34', 'E36:E50', 'H36:H50', 'K36:K50', 'N36:N50', 'Q36:Q50', 'T36:T50', 'W36:W50', 'E52:E66', 'H52:H66', 'K52:K66', 'N52:N66', 'Q52:Q66', 'T52:T66', 'W52:W66', 'E68:E82', 'H68:H82', 'K68:K82', 'N68:N82', 'Q68:Q82', 'T68:T82', 'W68:W82', 'E84:E98', 'H84:H98', 'K84:K98', 'N84:N98', 'Q84:Q98', 'T84:T98', 'W84:W98']);
  var filasDestinoVal = filasDestino.getRanges();

  var tabladebusquedaVal = sheetTareas.getRange("B5:H" + lastRowTareas).getValues();

  var valValues = [];
  var valores = [];

  filasDestinoVal.forEach(row => {
    var val = row.getValues();
    valValues.push(val);
    
    ... // 原有代码

    var resultados = [];

    tabladebusquedaVal.forEach(r => {
      ... // 原有代码     
      if ( ... ) {
        resultados.push([icoTarea]);
      }
    });
    valores.push(resultados);
  });

  // --- 新增填充逻辑 ---
  for (let i = 0; i < valValues.length; i++) {
    const targetColumn = valValues[i];
    const sourceTasks = valores[i];

    // 遍历目标列的第3到第15位(索引2到14)
    for (let j = 2; j < targetColumn.length; j++) {
      const taskIndex = j - 2;
      if (sourceTasks[taskIndex]) {
        targetColumn[j] = sourceTasks[taskIndex];
      }
    }
  }

  // 将修改后的数据写回表格对应区域
  filasDestinoVal.forEach((range, index) => {
    range.setValues(valValues[index]);
  });
  // --- 新增逻辑结束 ---

  Logger.log(valores);
  Logger.log(valValues);
}

关键代码说明

  • 外层循环按列遍历,确保每一列的valValues和valores对应匹配
  • 内层循环精准定位到第3到第15位的位置,将任务值逐一填充
  • 最后通过setValues方法将修改后的数组同步回Google表格的目标区域,完成数据更新

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:53:16