我有一個查詢,其中輸出是在作業表的所有選項卡上滿足的條件。
QUERY({'01Dec2021'!A2:T},"select Col1 where Col1 !=''",1)
我希望將作業表名稱包含在輸出中,但似乎只有選項是手動輸入的。
QUERY({'01Dec2021'!A2:T},"select Col1,'01Dec2021' where Col1 !=''",1)
我認為公式生成腳本可以解決這個問題:
function Formula() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var formula = "={";
for (var i = 0; i < sheets.length; i ) {
var name = sheets[i].getName();
if (name != "Master List" && name != "Summary") {
formula = formula "QUERY({" name "!A2:T},select Col1,'" name "' where Col1 !='',1);";
}
}
formula = formula.slice(0, -1) '}'
ss.getSheetByName("Summary").getRange("A2").setFormula(formula);
}
雖然這解決了問題,但我只是不知道如何將撇號作為文本。我想在這樣的撇號引號內輸入 "select Col1,'" name "' where Col1 !=''" 但我不能這樣做而不會出錯。
formula = formula "QUERY({" name "!A2:T},select Col1,'" name "' where Col1 !='',1);"
如果有人可以幫助我實作這一目標,我將不勝感激...
uj5u.com熱心網友回復:
在腳本中使用帶有反引號的模板文字
模板文字
在你的腳本中:
function Formula() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var formula = "={";
for (var i = 0; i < sheets.length; i ) {
var name = sheets[i].getName();
if (name != "Master List" && name != "Summary") {
formula = formula `QUERY({'${name}'!A2:T},"select Col1,'${name}' where Col1 is not null label '${name}' '' ",0);`;
}
}
formula = formula.slice(0, -1) '}'
ss.getSheetByName("Summary").getRange("A2").setFormula(formula);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/428205.html
