在列中查找特定值的最后一次出现

时间:2015-10-31 13:14:32

标签: excel-vba google-apps-script spreadsheet vba excel

我正在将vba脚本转换为谷歌应用脚​​本,并且正在努力寻找最佳方法来获取列中变量的最后一次。

在vba中,我可以执行以下操作:

Worksheets("variants").Range("A:A").Find(what:=productid, after:=Range("A1"), searchdirection:=xlPrevious).row

但是,在谷歌应用脚​​本中,find功能没有searchdirection参数。我可以通过使用我自己的函数迭代列的值来解决它,但是,这很慢。有没有关于如何使用谷歌电子表格本机功能实现这一目标的替代方案?

1 个答案:

答案 0 :(得分:0)

function getLastProductRow(ProductId){
  return runFunction('=ArrayFormula(max(row(A:A)*(A:A='+ProductId+')))')
}

//run spreadsheet function
function runFunction(formula){
  var cell = pvs.getRange("Z1");
  cell.setFormula(formula);
  return cell.getValue();
}