使用 AppS 脚本返回 Google 表格单元格的绝对值

Posted

技术标签:

【中文标题】使用 AppS 脚本返回 Google 表格单元格的绝对值【英文标题】:Return Absolute Value of a Google Sheet cell with AppScript 【发布时间】:2021-09-11 11:53:30 【问题描述】:

在 Google 表格中,我尝试使用应用脚本返回单元格的绝对值。到目前为止,我有以下代码:

var SEARCH_COL_IDX = 1; // variable that indicates which column to search, 0 = column A
function SearchInventario() 

var ss      = SpreadsheetApp.getActiveSpreadsheet();
var formS   = ss.getSheetByName("EntryFrmMovimiento"); //Form sheet that captures data

var str     = formS.getRange("E4").getValue(); //cell that contains search criteria
var values= ss.getSheetByName("DataInventario").getDataRange().getValues();//Tab with dataset
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(row[1]);//This is the cell for which I need Absolute value
   

它可以很好地返回数据集中的数据,但是我需要将单元格 C11 转换为此选项卡中的绝对值,而不是原始数据集中的绝对值。

我们将不胜感激任何点击、提示或想法!

【问题讨论】:

【参考方案1】:

仅用于教育目的。您可以随时制作自己的Math.abs() FUNction:

formS.getRange("C11").setValue( row[1] < 0 ? -row[1] : row[1] );

const abs = x => x < 0 ? -x : x;

console.log(abs(-25)) // = 25
console.log(abs(5))   // = 5
console.log(abs(0))   // = 0

甚至更有趣:

const abs = x => Number(x.toString().replace('-',''))

console.log(abs(-25))   // = 25
console.log(abs(-1.25)) // = 1.25
console.log(abs(5))     // = 5
console.log(abs(0))     // = 0

【讨论】:

非常感谢您的贡献!我一定会尝试的!干杯!【参考方案2】:

试试这个:

formS.getRange("C11").setValue(Math.abs(row[1]));

参考:

Math.abs()

【讨论】:

以上是关于使用 AppS 脚本返回 Google 表格单元格的绝对值的主要内容,如果未能解决你的问题,请参考以下文章

如何获取显示#ERROR的单元格的后端值!使用 Google Apps 脚本?

Google Apps脚本:表格形式数据处理,如果某些单元格为空,则删除行,同时维护某些列

如果文本被另一个单元格匹配,请使用Google Apps脚本有条理地格式化一个单元格

如何使用google apps脚本在自定义函数中编辑自定义函数的调用单元格?

如何使用 Google Apps 脚本将公式添加到 Google 表格?

使用 Apps 脚本对 Google 表格中的边框进行条件格式设置