Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用.indexOf()定义.getRange()_Javascript_Arrays_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 使用.indexOf()定义.getRange()

Javascript 使用.indexOf()定义.getRange(),javascript,arrays,google-apps-script,google-sheets,Javascript,Arrays,Google Apps Script,Google Sheets,我目前正在尝试使用.getValues()数组值的.indexOf,来定义要复制超链接的单元格(作为概念证明) 代码如下所示: var descriptionColumn = headerArray[0].indexOf("Description") sheet.getRange(sheet.getLastRow() + 1, descriptionColumn + 1).setFormula('=HYPERLINK("www.google.com"; &

我目前正在尝试使用
.getValues()
数组值的
.indexOf
,来定义要复制超链接的单元格(作为概念证明)

代码如下所示:

var descriptionColumn = headerArray[0].indexOf("Description")
sheet.getRange(sheet.getLastRow() + 1, descriptionColumn + 1).setFormula('=HYPERLINK("www.google.com"; "Test")')
Logger.log(descriptionColumn)
var headerArray = sheet.getRange(1, 1, 1, lastColumn).getValues();
机头阵列填写如下:

var descriptionColumn = headerArray[0].indexOf("Description")
sheet.getRange(sheet.getLastRow() + 1, descriptionColumn + 1).setFormula('=HYPERLINK("www.google.com"; "Test")')
Logger.log(descriptionColumn)
var headerArray = sheet.getRange(1, 1, 1, lastColumn).getValues();
现在日志显示,
descriptionColumn
返回为“3.0”。位置3是正确的,但我不确定“.0”是否会干扰下一个代码。因为每当我替换
.setFormula
区域中的
descriptionColumn
时,我的代码都会工作。知道我做错了什么吗?知道怎么解决吗?我在其他地方使用
.indexOf()
引用另一个数组的索引,没有问题。只是在这里我没法让它工作

编辑:可复制的示例和发现。 非常感谢你到目前为止的帮助,很抱歉回来这么晚

与此同时,我发现其中一个问题是中sheet.getLastRow()后面的“+1”

老实说,我还不完全理解为什么会出现这种情况,但通过将其放在代码的最后一行(这样插入时它确实是最后一行),我能够解决这个问题(将其保存在单独的变量中,例如使用“descriptionColumn”也没有帮助……).我明白了。getLastRow返回一个整数,所以+1运算在理论上不应该是个问题,对吧?很高兴知道如果我出错了

最后,通过下面的代码,我能够按计划插入超链接。事实上,从.setValue开始而不是.setFormula确实帮了我很大的忙,所以谢谢!!:)

但我不确定“.0”是否会干扰下一个代码

不,那不是问题

只是在这里,我无法让它工作

我们看不到你的错误,也看不到你的描述

---调试步骤:---

  • 将.setFormula替换为.setValue(“测试”),以查看是否针对正确的单元格(列)

  • 如果这行得通,那么问题就出在你的公式里


  • 请添加一个。错误代码是什么?您是否尝试过将
    parseInt(descriptionColumn+1)
    用于您的sefFormula范围?这确实帮助了我很多,尽管我仍然必须首先解决另一个问题:)。谢谢