これについて他にもいくつかのスポットを見つけましたが、答えはありませんでした(または、うまくいけば物事が変わった古い答え)。
私は単に(スクリプトを介して)Google Sheetセルに数式を入れて、完全に更新/再計算したいだけです。問題は、式が次のように値の配列を返すことです。
SORT(TRANSPOSE(QUERY(A2:B299,"Select count(A) pivot(B)")),2,FALSE)
必要なセルに数式を配置してそのセルを選択するまで、すべてを機能させることができます。しかし、手動で CTRL+E を押して配列を埋める必要があります (これは、私のビール コレクション内の各醸造所に属するボトルの数の要約です)。
調査で見つけたすべての「フラッシュ」および再計算コマンドを試しましたが、式を「取る」ものは何もありません。別の方法として、ブルート フォース ソリューションを探しました。つまり、自分でキーを押したかのようにセルに CTRL+E を送信します。 「キーボード」コマンド。
「refreshBrewerTable()」を呼び出すボタンの背後にある Google Script コードを次に示します。
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;
}
何か案は?基本的には、壁に新しいビール瓶を追加するときに、このピボットされた要約データを更新するボタンが必要です。