google-apps-script - 从另一个工作表谷歌表格中查询一列中的数据列表
问题描述
我有一列中的数据列表,该列的大小不断变化。
目前我正在使用下面的脚本,该脚本仅适用于 1 个单元格。我的范围是 O2:O
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('PrepSheet'), true);
spreadsheet.getRange('A2').activate();
spreadsheet.getCurrentCell().setFormula('=QUERY({\'LOCATIONS\'!$A$2:$C},"SELECT * WHERE Col1 = \'" &
O2 & "\' ")');
How could I add a range like this to the query \'" & O2:O & "\' ")'); ??
非常感谢
解决方案
您可以构建一个正则表达式O2:O
来匹配Col1
。
spreadsheet.getCurrentCell().setFormula('=QUERY({\'LOCATIONS\'!$A$2:$C},"SELECT * WHERE Col1 MATCHES \'" & JOIN("|",FILTER(O2:O, NOT(ISBLANK(O2:O)))) & "\' ")');
我也会稍微简化你的代码。
function insertQuery() {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getSheetByName('PrepSheet');
sheet.getRange('A2').activate().setFormula('=QUERY({\'LOCATIONS\'!$A$2:$C},"SELECT * WHERE Col1 MATCHES \'" & JOIN("|",FILTER(O2:O, NOT(ISBLANK(O2:O)))) & "\' ")');
}
推荐阅读
- vba - 返回列表框中的选定值
- angular - Angular2代码为什么找不到小写值
- nlp - openNLP:我们如何检测问候语
- excel - 尝试查找 Excel 中信息端的数据是否位于
- ionic3 - 如何将值添加到离子中的数组中
- lua - Roblox Lua | 如果角色重生,脚本将停止工作( HealthChanged )
- xpath - 相对 xpath 不起作用
- javascript - 在选择选项的 onchange 函数()中传递多个名称
- layout - 在 CakePHP 3.6 布局中,我不加载视图
- google-analytics - ga.getAll() 不会返回所有的跟踪器