get.Range with EQUIV功能? (或Vlookup还是匹配?)

时间:2016-02-04 10:24:00

标签: google-apps-script google-sheets match vlookup

我是Google Apps脚本的新手,很抱歉,如果这是一个太容易的问题。 我已经搜索了现有的问题,但无法完成这项工作。

我有这个功能: SpreadsheetApp.getActiveSheet().getRange(5,1).activate();工作正常。

但是,我希望行号的动态值不是(5,1)。 我想在A1中的列表中返回我选择的特定文本的行号。

以下是我的工作:

function GoTo () {

   var sheet = SpreadsheetApp.getActiveSheet();
   var c = "EQUIV($A$1,A2:A100,0)+1";

  { SpreadsheetApp.getActiveSheet().getRange(c,1).activate(); }

    }

如果我将= EQUIV($A$1,A2:A100,0)+1放入单元格,我会找到正确的数字。

非常感谢!

你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

如果我理解你想要什么,下面的功能在A列开始,从A2开始,搜索你在A1中输入的内容。如果找到,它将激活找到的值的单元格。它还返回单元格B1中找到的行的行号。

function findText() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var find = sheet.getRange("A1").getValue()// cell of value to find in  column A
var values = sheet.getRange(2, 1, sheet.getLastRow()-1).getValues();
  for (var i = 0; i < values.length; i++) {
    var row = "";
    for (var j = 0; j < values[i].length; j++) {     
      if (values[i][j] == find) {
        row = i+2;
       sheet.getRange(1, 2).setValue(row); //row number found to C2
       var range=sheet.getRange("A"+row)
       range.activate() //activate cell of found value
      }
    }    
  }}

您可以使用onEdit触发器运行它。