首页 > 解决方案 > 如果其他功能无法始终如一地工作

问题描述

如果/否则一次替换多行的列,我无法得到这个。我努力了

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");
    }

}

标签: javascriptif-statementgoogle-apps-scriptgoogle-sheets

解决方案


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

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

Sheet.getRange(行,列)

Sheet.getRange(行,列,numRows)

Sheet.getRange(行,列,numRows,numColumns)

Sheet.getRange(a1notation)


推荐阅读