0

Excel関数を持つマスタースプレッドシートがあります:= INDEX(D2:D4、MATCH(F11、B2:B4,0))

これをGoogleAppsでどのように表現しますか、それともそれに近いものはありますか?

変更が必要なコードの部分は次のとおりです。

    var link = masterSheet.getRange('F11').getValues();//here is the problem

    //=INDEX(D2:D4,MATCH(F11,B2:B4,0))

    var ss = SpreadsheetApp.openById(link);
4

2 に答える 2

1

Google Apps Scriptで同じ機能を実現したい場合、および私が正しく理解している場合:

var lookup = masterSheet.getRange('F11').getValue();
var range = masterSheet.getRange('B2:D4').getValues();
var lookupRange = [];
for (var i = 0; i < range.length; i++) lookupRange.push(range[i][0]);
var index = lookupRange.indexOf(lookup);
if (index == -1) {
  //error, not found
}
else {
  var link = range[index][2];
  var ss = SpreadsheetApp.openById(link);
  //etc
}

警告:日付や時刻を検索している場合、これは失敗します。日付オブジェクトをindexOfで見つけることができる他のものに変換する必要があります。この場合は、投稿してください。

于 2012-12-22T02:01:45.407 に答える
0

同じ数式は、ExcelスプレッドシートとGoogleスプレッドシートの両方で同じように機能するはずですが、機能しませんか?VLOOKUPは、両方で同じことを行うために使用することもできます。

=vlookup(F11,B2:D4,3,0)

于 2012-12-21T20:15:05.747 に答える