2017-03-16 90 views
1

我在Google腳本中創建自定義函數的方法相對較新。Google腳本自定義函數 - 範圍數組作爲參數

我需要能夠將一個範圍數組傳遞給一個函數。

請讓我知道,如果我接近這個不正確。

我得到一個語法錯誤,當我引用它在谷歌表爲=ConcatEach(["A1:A2","B1:B2"],"$"])(不帶引號)。

(此外,值是任意的。我知道美元符號值之前去了。)

無論如何,這裏是我有:

function ConcatEach(rangeString, concatString) 
{ 
    //var rangeString = ["A1:A2","B1:B2"]; 
    //var concatString = "$"; 

    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var rangeValues=[]; 
    for(i=0;i<rangeString.length;i++) 
    { 
    var range = sheet.getRange(rangeString[i]); 
    rangeValues.push(range.getValues()); 
    } 

    //Logger.log(rangeValues); 

    for(i=0;i<rangeValues.length;i++) 
    { 
    for(j=0;j<rangeValues[i].length;j++) 
    { 
     if(rangeValues[i][j] != "") 
     { 
     rangeValues[i][j] = rangeValues[i][j] + concatString; 
     } 
    } 
    } 
    return rangeValues; 
} 

任何幫助將超級讚賞!謝謝!

回答

1

你可以通過rangeString作爲字符串用逗號:

"A1:A2,B1:B2" 

然後用JavaScript String split() Method

var array = rangeString.split(","); 
Logger.log(array); // you'll get array ['A1:A2', 'B1:B2'] 
+0

謝謝!這當然是一種解決方法。 – KirklandBrown373