我确实在这上面找到了其他一些地方,但没有答案(或者希望事情发生变化的旧答案)。
我只想将一个公式放入Google Sheet单元格(通过脚本)并完全刷新/重新计算。问题是,公式返回一个值数组,如:
SORT(TRANSPOSE(QUERY(A2:B299,"Select count(A) pivot(B)")),2,FALSE)
我可以让所有工作都达到将公式放入我想要的单元格并选择该单元格的程度。但是我仍然需要手动按CTRL + E来填充数组(这是我的啤酒系列中有多少瓶子属于每个啤酒厂的总结)。
我已经尝试了所有" flush"我通过研究找到了重新计算的命令,没有任何东西可以使公式"采取"。或者,我寻找一个强力解决方案 - 发送一个CTRL + E到单元格,好像我自己按下了键 - 但是找不到任何可以做类似Visual Basic的东西" SendKeys&#34 ;或者Visual Foxpro" KEYBOARD"命令。
以下是调用" refreshBrewerTable()"的按钮背后的Google脚本代码:
function refreshBrewerTable() {
return refreshQuery(9, 13, "B", 2, "FALSE");
}
function refreshQuery(rootrow, rootcol, pivotColumn, sortColumn, sortAsc) {
var range = sheet.getRange(rootrow, rootcol, sheet.getLastRow(), rootcol + 1)
range.clearContent();
range = sheet.getRange(rootrow, rootcol);
range.setFormula('=SORT(TRANSPOSE(QUERY(A2:' + pivotColumn + sheet.getLastRow().toString() + ',"Select count(A) pivot(' + pivotColumn + ')")),' + sortColumn.toString() + ',' + sortAsc + ')');
sheet.setActiveSelection(range.getCell(1, 1).getA1Notation());
return true;
}
有什么想法吗?我基本上想要一个按钮,当我向墙上添加新的啤酒瓶时,它会刷新这个透视的摘要数据。
答案 0 :(得分:0)
我认为在需要这件事方面我只是有点愚蠢。
因为这已经从脚本完成了,所以我可以简单地手动将所有CONTINUE()公式添加到单元格中,直到“根”单元格的右侧(带有查询的单元格)。如果我在其他地方使用UNIQUE()函数告诉我有多少不同的啤酒酿造者(或者我正在转向的任何东西),我甚至可以明智地知道要走多远。这就是所有CTRL + E所做的 - 在CONTINUE()公式中尽可能地填充它们。
无论如何,它现在都有效,一旦填充了所有CONTINUE()单元格,按下CTRL + E的提示就会从“根”单元格中消失。