0

我有一个具有 excel 功能的主电子表格: =INDEX(D2:D4,MATCH(F11,B2:B4,0))

您将如何在 Google Apps 中表达这一点,或者有什么与之相近的吗?

下面是需要修改的部分代码:

    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 脚本中实现相同的功能,并且我的理解正确:

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 回答