0

私は2つのGoogleシート(重複値用)をあらかじめ定義された範囲で比較しようとしています。Googleスプレッドシートのカスタム関数に範囲を渡すにはどうすればよいですか?

私はGoogleがツールを使ってシートを比較できることを認識しています。

は私が範囲に取る関数...のようなものを作りたい:

function myFunction(range) { 
    var firstColumn = range.getColumn(); 
    // loop over the range 
    } 

問題は、私はこれをやってみるとき、パラメータは、それだけに値を渡しているように思えるということです関数。したがって、getColumn()などのRangeメソッドは使用できません。私はそうしようとすると、それは次のエラーを与える:

error: TypeError: Cannot find function getColumn in object 1,2,3. 

は、どのように私は私のカスタム関数の一つに実際の範囲だけではなく、値を送信することができますか?

注:私の場合、範囲はシート全体(比較する必要がある)です。

ありがとうございます!

答えて

0

カスタム関数の引数は、カスタム関数のコードに渡される前に計算されるため、rangeは単一の値または値の配列になります。

あなたは、次のようなものを使用、すなわち=myFunction("Sheet!A:Z")、文字列として範囲への参照を渡すことができます。

 
function myFunction(reference) { 
    var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(reference); 
    var firstColumn = range.getColumn(); 
    // do something 
} 

注:getRangeByNameは、名前付き範囲の両方で動作するとの言及は、それがより良い選択かもしれないOSをgetRangeよりも

0

Google Scriptでは範囲を配列として扱います。したがって、配列を扱う際には、入力範囲でうまく作業することができます。配列をループする方法は次のとおりです。 https://stackoverflow.com/a/14991272/5372400

関連する問題