【问题标题】:If else function not consistently working如果其他功能无法始终如一地工作
【发布时间】:2021-06-27 23:44:59
【问题描述】:

我不能让这个 if/else 一次替换超过一行的列。我试过了

spreadSheet.getRange(2, 38, 4000)

spreadSheet.getRange(2, 38, spreadSheet.getLastRow()-1)

spreadSheet.getRange(2, 38, sheet.getMaxRows())

如果它没有像下面这样设置,它不会返回任何东西(并且只返回一个单元格。

function calculateHitPoints(){
    var spreadSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1");
    var setHP = spreadSheet.getRange(2, 38).getValues();

    if(setHP == "Fighter"){
        spreadSheet.getRange(2, 38).setValue("14");
    }
    else if(setHP == "Ranger"){
        spreadSheet.getRange(2, 38).setValue("13");
    }

}

【问题讨论】:

  • 请考虑更详细地解释您想要完成的任务。不清楚,根据你提供的信息。可能值得看看getValue()getValues()setValue()setValues() 和不同的getRange 的官方文档。

标签: javascript if-statement google-apps-script google-sheets


【解决方案1】:

这是因为您在第 38 列中获得了第 2 行。这就是为什么它只获得该单元格。

getRange() 有多种实现,您可以在此处参考此链接。

Sheet.getRange(row, column)

Sheet.getRange(row, column, numRows)

Sheet.getRange(row, column, numRows, numColumns)

Sheet.getRange(a1notation)

【讨论】:

  • 是的,但是 numRows 等不起作用。
猜你喜欢
  • 2020-07-14
  • 2017-04-21
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
  • 2018-05-29
  • 1970-01-01
相关资源
最近更新 更多