自動更新のカスタム関数
-
26-09-2019 - |
質問
私はいくつかの他のセルの値に依存してGoogleスプレッドシートのスクリプト、などのカスタム機能を持っています。これは、[OK]を、私はセルに入れて初めて実行されますが、私は他のセル内のデータを変更するとき、それは同じままです。どのように私は私が他のセルを変更すると、自動的に最初のセル更新、その値を作ることができますか?
解決
私は完全に私を幸せにしないの答えを見つけたが、それは私の推測で十分です。
スプレッドシートのスクリプトにonEdit
と呼ばれる機能を追加した場合、それはものが編集されるたびに呼び出されます。だから、これは私のために働いていたコードがあります:
function onEdit(event) {
if (SpreadsheetApp.getActiveSheet().getName().substr(0,5) == "thing")
SpreadsheetApp.getActiveSheet().getRange("I1").setValue(myCustomFunction());
}
これは、名前がthing
で始まるシートは、セルmyCustomFunction
にI1
の結果を得ることになります。
他のヒント
私は同様の問題を持っています。
これは私が最善の解決策気圧それをやってますが、そのわけではない方法です。私はよりよい1を探しています。
もしシートの価格は、列Dの変化で任意の値。 任意のセルの値は、それがカスタム関数の値を更新し、全体の列に変更した場合の意味ます。
//Search Price sheet with the given name. Return price. dummy param updates google ss once the "Prices" sheet values changed.
function searchPrice(price,dummy)
{
var SPREADSHEET_NAME = "Prices";
var SEARCH_COL_IDX = 2;
var RETURN_COL_IDX = 3;
var values = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SPREADSHEET_NAME).getDataRange().getValues();
for (var i = 0; i < values.length; i++)
{
var row = values[i];
if (row[SEARCH_COL_IDX] == price)
{
return row[RETURN_COL_IDX];
}
}
}
これは、あなたがそれを呼び出す方法です= searchPrice(B8、価格D:!D)
ちょうどあなたのカスタム関数ダミーのparamを与えます。これは、カスタム関数で何もしません。
所属していません StackOverflow