Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Search 将查询函数放入脚本中,我可以通过按钮激活该脚本_Search_Google Apps Script_Google Sheets_Google Sheets Query - Fatal编程技术网

Search 将查询函数放入脚本中,我可以通过按钮激活该脚本

Search 将查询函数放入脚本中,我可以通过按钮激活该脚本,search,google-apps-script,google-sheets,google-sheets-query,Search,Google Apps Script,Google Sheets,Google Sheets Query,我正在搜索我的团队使用查询功能填写的通话记录页面。让它变得复杂的是,在这些板的帮助下,我能够生成以下函数,并且运行良好 Iferror(QUERY({'Jan 2020'!A3:R5000;'Feb 2020'!A3:R5000;'Mar 2020'!A3:R5000}, "select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14,Col15,Col16,Col17,Col18 WHERE

我正在搜索我的团队使用查询功能填写的通话记录页面。让它变得复杂的是,在这些板的帮助下,我能够生成以下函数,并且运行良好

Iferror(QUERY({'Jan 2020'!A3:R5000;'Feb 2020'!A3:R5000;'Mar 2020'!A3:R5000}, "select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14,Col15,Col16,Col17,Col18 WHERE "&TEXTJOIN(" and ", 1,IF(B5<>"", "Col1 >= date '"&B6&"'", ),IF(C5<>"", "Col1 <= date '"&C6&"'", ),IF(D5<>"", "Col3 = '"&D5&"'", ),IF(E5<>"", "Col4 = '"&E5&"'", ),IF(F5<>"", "Col5 = '"&F5&"'", ),IF(B8<>"", "Col6 = '"&B8&"'", ),IF(C8<>"", "Col9= '"&C8&"'", ),IF(D8<>"", "Col10= '"&D8&"'", ),
IF(E8<>"", "Col11= '"&E8&"'", )),1),"No Match")
我遇到的问题是,我希望能够填写搜索区域,然后按下一个按钮以激活要运行的功能。现在,每次我更改其中一个搜索词,页面都会随着每次更改而更新。因此,如果我要更改3个搜索周长,我必须等待工作表针对每个更改进行更新。正如您所看到的,我们的团队平均每月约有4000个呼叫,因此阅读脚本可能需要花费大量时间

我在想,我可以简单地将这个查询放入一张纸条中,并通过一个搜索按钮激活该脚本

我对脚本编写还是相当陌生的,我在网上发现的东西让我感到困惑,因为在我看来,他们需要用脚本语言从头开始构建函数

有没有一种方法可以简单地编写一个脚本来激活函数

我在想,可能只是让它将功能粘贴到单元格中,我需要它在中激活,然后可能有一个清晰的脚本设置为重置搜索按钮

答复: 您可以创建两个函数并将它们分配给“搜索”和“清除”按钮。一个将公式粘贴到图纸中,另一个将公式替换为其返回值的显示值

代码: 首先,在脚本中创建两个函数,根据需要更改单元格和工作表名称字符串

函数搜索公式{ var ss=SpreadsheetApp.getActiveSpreadsheet var sheet=ss.GetSheetByNameExm//更改工作表名称的副本 var cell=sheet.getRangeA17//函数应位于的单元格的更改
var公式=IferrorQUERY{'Jan 2020'!A3:R5000;'Feb 2020'!A3:R5000;'Mar 2020'!A3:R5000},\选择Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14,Col15,Col16,Col17,Col18其中\&TEXTJOIN\和\,1,IFB5\\,\Col1>=日期'\&B6&\',IFC5\\,\Col1您能分享一份经过消毒的工作表吗?抱歉,给您