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”是否会干扰下一个代码
不,那不是问题
只是在这里,我无法让它工作
我们看不到你的错误,也看不到你的描述
---调试步骤:---
请添加一个。错误代码是什么?您是否尝试过将
parseInt(descriptionColumn+1)
用于您的sefFormula范围?这确实帮助了我很多,尽管我仍然必须首先解决另一个问题:)。谢谢