逻辑悖论 - 自定义函数 - 参数来自另一个功能

时间:2018-01-01 23:24:52

标签: javascript function google-apps-script global-variables

我希望我能说明这一点......

我已经完成了一系列其他功能,最终得到一个变量,其中包含用户从侧栏上的下拉列表中选择的数据到我的Google工作表。

发送该变量的最终函数如下:

function processFormResponse(formObject ){

  reportMonth = formObject.chosenReport;

  //result of reportMonth is a string. Example "Report_Nov 2017"
}

所以现在我有一个名为reportMonth的变量,它有我需要的东西。但是现在,我想编写一个vlookup,每次都会选择相同的范围,但是根据用户选择(reportMonth)在不同的工作表上。 根据我的研究,我不能在vlookup中使用变量,所以我打算编写一个自定义函数来为我查找。

但是这里是我的悖论:我不能使用processFormResponse作为我的自定义函数,因为它已经在其参数中包含了formObject,因为它已经从前一个函数接收信息而且我无法执行单独的函数,因为我似乎无法获取reportMonth是全球的...(我有和没有var)

我基本上是这样的:

=IFERROR(VLOOKUP($E3, reportMonth !$F:$J,2,false),"")

1 个答案:

答案 0 :(得分:0)

如Google Apps脚本文档中所述:

对于Range对象:

setValue(value)

设置范围的值。值可以是数字,字符串,布尔值或日期。 如果以'='开头,则会将其解释为公式。

所以,如果你有1个单元Range(也就是一个单元格块),那么就可以运行

range.setValue("=IFERROR(VLOOKUP($E3,"+reportMonth+"!$F:$J,2,false),"")");

供参考:https://developers.google.com/apps-script/reference/spreadsheet/range#setvaluevalue