【发布时间】:2016-01-09 01:47:18
【问题描述】:
我对此进行了研究,但找不到合适的解决方案。当放置在工作表单元格中时,以下公式在公式级别可以正常工作。问题是我希望公式在脚本级别运行。我知道的选项包括运行脚本以: (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:A, "MMM-YY"), 替换(UI!A:A,1,1000,"GRAND TOTAL")}, "SELECT * WHERE Col1 IS NOT NULL AND Col2 IS NOT NULL LABEL Col8 '年',Col9 '月MO#',Col10 '月MO',Col11 '月MOYR',Col12 '总计'"))
【问题讨论】:
-
如果它只需要在较新的浏览器中工作,您可以使用
set.Formula(`=complex formula`)语法(注意重音符号而不是 apos/quote)这样可以避免牙签问题。 en.wikipedia.org/wiki/Leaning_toothpick_syndrome -
尝试 set.Formula(
=complex formula) 使用 chrome 版本 46.0.2490.80 m。没有运气。脚本编辑器在测试时返回“非法字符”错误。 -
尝试使用 chrome 版本 46.0.2490.80 m 使用重音符号(由于某种原因我无法让它们出现在我的评论中)的 set.Formula。没有运气。脚本编辑器在测试时返回“非法字符”错误。
-
您需要将该代码放在坟墓标记的底部。然后,您可以用换行符将其隔开,而不必担心嵌套引号。
-
我使用了你提到的带有严重标记的代码......代码行甚至不会保存,因为源公式在代码中具有/需要'和',并且似乎想要由“虽然使用无效”分隔,但它也是内部代码的一部分。当我使用坟墓标记时,我仍然得到非法字符错误
标签: multidimensional-array google-apps-script google-sheets formulas array-formulas