我在Google表格中保存脚本时遇到了一个问题。该脚本是关于将其他工作表中的数据复制到主工作表的。请帮助我,该脚本如下;
`function myFunction() {
// ={FILTER{{'Partial Data 1' !A2:G, "Data Tab 1 - Row "&RDW('Partial Data 1' !A2:A)}. 'Partial Data 1' !A2:A<>"");
// FILTER{{'Partial Data 2' !A2:G, "Data Tab 2 - Row "&ROW{'Partial Data 2' !A2:A)}. 'Partial Data 2' !A2:A<>"");
// FILTER({'Partial Data 3' !A2:G, "Data Tab 3 • Row "&ROW('Partial Data 3' !A2:A)}. 'Partial Data 3' !A2:A<>"")}
// (s => 'FILTER({'${s.getSheetName()}' !${dataRange}, "${s.getSheetName()} • Row "&ROW('${s.getSheetName()}' !${checkRange})}. '${s.getSheetName()}' !${checkRange}<>"")')
//set variables
const masterSheet = "Master";
const masterSheetFormulaCell = "A2";
const ignoreSheets = ["Copy of Master"];
const dataRange = "A2:G";
const checkRange = "A2:A";
//end set variables
const ss = SpreadsheetApp.getActiveSpreadsheet();
ignoreSheets.push(masterSheet);
const allSheets = ss.getSheets(); I
const filteredlistOfSheets = allSheets.filter(s => ignoreSheets.indexOf(s.getSheetName()) == -1);
let formulaArray = filteredlistOfSheets.map(ss => 'FILTER({'${s.getSheetName()}' !${dataRange}, "${s.getSheetName()} • Row "&ROW('${s.getSheetName()}' !${checkRange})}. '${s.getSheetName()}' !${checkRange}<>"")')
let formulaText = "={" + formulaArray.join(";") + "}";
//co
return();ss.getSheetByName(masterSheet).getRange(masterSheetFormulaCell).setFormula(formulaText);}`
代码是从youtube教程中学习的,并尝试了包括重写在内的所有方法,但无法修复它。
1条答案
按热度按时间pbossiut1#
我认为你的问题是在使用单引号和双引号,和模板文字。与模板文字使用反勾整个字符串,然后在
${}
将被替换在字符串中的变量。我不知道如果你的公式将工作。试着改变
为了这个
参考资料