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

如何通过AppScript获取Google Sheets单元格绝对值且不修改原数据集

实现方案

你只需要修改给C11单元格赋值的逻辑,用JavaScript原生的Math.abs()方法对读取到的row[1]值做绝对值转换即可,这个操作仅处理从数据集读取到的临时变量,不会修改DataInventario工作表的原始内容。

修改后的完整代码

var SEARCH_COL_IDX = 1; // 定义要搜索的列索引,0对应A列
function SearchInventario() {
  var ss      = SpreadsheetApp.getActiveSpreadsheet();
  var formS   = ss.getSheetByName("EntryFrmMovimiento"); // 存储录入数据的表单工作表
  var str     = formS.getRange("E4").getValue(); // 存储搜索条件的单元格
  var values  = ss.getSheetByName("DataInventario").getDataRange().getValues();// 数据集所在工作表
  for (var i = 0; i < values.length; i++) {
    var row = values[i];
    if (row[SEARCH_COL_IDX] == str) {
      formS.getRange("C10").setValue(row[0]);
      formS.getRange("C11").setValue(Math.abs(row[1]));// 仅在此处对读取到的数值做绝对值转换
    }
  }
}

逻辑说明

  • Math.abs()是JavaScript内置的绝对值计算方法,会自动将输入的数字转换为非负数值输出
  • 你读取的values是DataInventario数据集的内存副本,没有调用对应工作表的写操作接口,所以原始数据不会被改动
  • 转换后的数值仅写入EntryFrmMovimiento工作表的C11单元格,符合你的修改范围要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:39:02