[英]Passing Dynamic Range:Google Script
我正在嘗試編寫一個自定義函數,該函數將計算並返回包含單數列信息的單元格數。 我正在使用A(x):Z(x)的范圍,但似乎無法動態傳遞這些范圍,因此每次都能獲得用戶定義的范圍。
編輯:當前錯誤我現在收到的消息是:參數列表后缺少)。 (第10行,文件“更新數量”)
到目前為止,我有這個。
function updateNum(row1,col1,row2,col2)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("report status");
var r = s.getActiveRange(row1+col1:row2+col2); <---Line with error
return (range.length-2)/2
}
關於如何使它通過范圍的任何建議?
謝謝,亞歷山大
將行更改為:
var r= s.getRange(row1, col1, row2-row1+1, col2-col1+1);
但這不能解決您的問題,因為后面的線是沒有意義的。 未聲明“范圍”。 我看不到您要去的確切位置。 請寫一些偽代碼。
如果要計數包含信息的單元格的數量,請使用電子表格本機函數
counta()
使用自定義函數是不可能的,因為它們是確定性的。 也就是說,給定相同的輸入,它們將返回相同的結果。 就您而言,即使您修復了這些錯誤,您仍然沒有通過實際輸入,只是其范圍限制。 因此,如果范圍內的數據發生更改,您仍將通過相同的輸入限制,因此將返回先前的緩存結果。 有一些方法可以傳遞一個額外的參數,該參數總是像'now()'那樣變化,但是由於會不斷地重新計算而導致性能問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.