我研究了这个,但找不到合适的解决方案。放置在工作表单元格中时,以下公式在公式级别下工作正常。问题是我希望公式在脚本级别运行。我所知道的选项包括运行脚本: (1)set.Formula('=复杂公式') 要么 (2)将整个公式重写为脚本
我是GAS的新手,并且已经搞乱了这两种方法。使用选项(1)时似乎存在语法错误,通常以缺少“)”的形式,我无法调试。使用选项(2)目前高于我的技能水平。任何选项的任何帮助将不胜感激。
以下是有问题的公式:
= ARRAYFORMULA(QUERY({UI!A:G,YEAR(UI!A:A),MONTH(UI!A:A),TEXT(UI!A:A,“MMMM”),TEXT(UI!答:A,“MMM-YY”),REPLACE(UI!A:A,1,1000,“GRAND TOTAL“)},”SELECT * WHERE Col1 IS NOT NULL,Col2 IS NOT NULL LABEL Col8'Year',Col9'MonthMO#',Col10'MonthMO',Col11'MonthMOYR',Col12 'GRAND TOTAL'“))
答案 0 :(得分:1)
公式不会“在脚本级别”运行,因此您必须将公式重写为Google Apps脚本/ JavaScript函数。
如果您希望脚本将复杂公式添加到单元格中,请记住在一行中编写复杂公式会使调试它们变得更加困难。
尝试按功能和参数划分公式,并使用选项卡对齐它们。恕我直言,这可以防止使用Remove
使脚本无法读取(Leaning toothpick syndrome)。
下面是一个onEdit()函数,它将问题中的复杂公式插入到单元格右侧的单元格中,其中写入了“是”。查看使用\
来转义查询函数的第二个参数(select语句)中使用的撇号。
\