Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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 逻辑悖论-自定义函数-参数来自另一个函数_Javascript_Function_Google Apps Script_Global Variables - Fatal编程技术网

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

Javascript 逻辑悖论-自定义函数-参数来自另一个函数,javascript,function,google-apps-script,global-variables,Javascript,Function,Google Apps Script,Global Variables,我希望我能让这一切变得有意义 我已经完成了一系列其他函数,最终得到了一个变量,该变量包含用户从侧边栏上的下拉列表中选择的数据到我的google工作表 该变量发送到的最后一个函数如下所示: function processFormResponse(formObject ){ reportMonth = formObject.chosenReport; //result of reportMonth is a string. Example "Report_Nov 2017" } =I

我希望我能让这一切变得有意义

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

该变量发送到的最后一个函数如下所示:

function processFormResponse(formObject ){

  reportMonth = formObject.chosenReport;

  //result of reportMonth is a string. Example "Report_Nov 2017"
}
=IFERROR(VLOOKUP($E3, reportMonth !$F:$J,2,false),"")
现在我有了一个名为reportMonth的变量,它满足了我的需要。但是现在,我想写一个vlookup,它将每次选择相同的范围,但根据用户选择报告的不同,在不同的表上。 根据我的研究,我不能在vlookup中使用变量,所以我打算编写一个自定义函数来为我进行查找

但这是我的悖论:我不能使用processFormResponse作为我的自定义函数,因为它的formObject已经在其参数中,因为它已经从上一个函数接收到信息,而我不能单独使用函数,因为我似乎无法使reportMonth成为全局函数。。。我有var和没有var

我基本上是这样的:

function processFormResponse(formObject ){

  reportMonth = formObject.chosenReport;

  //result of reportMonth is a string. Example "Report_Nov 2017"
}
=IFERROR(VLOOKUP($E3, reportMonth !$F:$J,2,false),"")
正如Google Apps脚本文档中提到的: 对于范围对象:

设置范围的值。该值可以是数字、字符串、布尔值或日期。如果以“=”开头,则解释为公式

所以,如果你有一个1单元范围,也就是一块单元,那么你可以运行

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

仅供参考:

您是说range.Setvalue将成为我的新自定义函数吗?我只是想指出,我正在实现这一点。。。我回到了基础,做了一个更简单的函数,现在我掌握了这个,我想我最终会得到t!在谷歌的行话中,自定义函数有一个特殊的含义。您的问题是关于要在公式中使用的用户定义的工作表函数吗?参考