作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试比较预定义范围内的两个 Google 工作表(重复值)..
我知道谷歌允许您通过工具比较工作表,但我需要一个更加定制的比较,因此该功能。
我想创建一个接受一定范围的函数...类似于:
function myFunction(range) {
var firstColumn = range.getColumn();
// loop over the range
}
问题是,当我尝试这样做时,参数似乎只是将值传递给函数。因此,我无法使用任何 Range 方法,例如 getColumn()。当我尝试这样做时,出现以下错误:
error: TypeError: Cannot find function getColumn in object 1,2,3.
如何将实际范围而不仅仅是值发送到我的自定义函数之一?
注意 - 在我的例子中,范围是整个工作表(两者都需要比较)。
谢谢!
最佳答案
自定义函数参数在传递给自定义函数的代码之前进行计算,因此范围
将是单个值或值数组。
您可以将范围引用作为字符串传递,即 =myFunction("Sheet!A:Z")
,然后使用如下所示的内容:
function myFunction(reference) { var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(reference); var firstColumn = range.getColumn(); // do something}
注意:getRangeByName 同时适用于命名范围和引用操作系统,它可能是比 getRange 更好的选择。
关于function - 如何将范围传递到 Google 电子表格中的自定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36481566/
我是一名优秀的程序员,十分优秀!