【问题标题】:Compare two values in two array from two spreadsheet. why not?比较两个电子表格中两个数组中的两个值。为什么不?
【发布时间】:2020-03-29 21:00:25
【问题描述】:

我想比较从两个不同电子表格中的两个单元格获取的两个值.....但它没有运行。我不明白....Logger.log 给我相同的值....

function aggiungiclienti(){
 var fileid = PropertiesService.getScriptProperties().getProperty('FILEID')
 var ss1 = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('B1:B100').getValues()
 var ss2 = SpreadsheetApp.openById(fileid).getRange('A1:A100').getValues()

  Logger.log(ss1[3],ss2[3])
   if(ss1[3] === ss2[3])
   {
     SpreadsheetApp.getUi().alert('Find!')

   Logger.log(ss1[3],ss2[3])
   }  
}

【问题讨论】:

  • getValues() 返回二维数组。所以如果你想比较ss1ss2之间第3行的值,请将if(ss1[3] === ss2[3])修改为``if(ss1[3][0] === ss2[3][0])`和再次测试它。但不幸的是,我不确定你的目标。所以如果这不是你想要的方向,我很抱歉。
  • 完美!!谢谢!没错!

标签: javascript arrays google-apps-script multidimensional-array google-sheets


【解决方案1】:

为未来的观众写下答案。正如tanaike所说,并根据documentation

(getValues) 返回值的二维数组,按行索引,然后按 柱子。这些值可以是 Number、Boolean、Date 或 String 类型, 取决于单元格的值。空单元格由 数组中的空字符串。请记住,虽然范围索引从 1, 1, JavaScript 数组从 [0][0] 开始索引。

所以: 从if(ss1[3] === ss2[3])if(ss1[3][0] === ss2[3][0]) 将得到正确的数组值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多