2015-10-31 4 views
0

Я конвертирую скрипт vba в скрипт приложения Google и изо всех сил пытаюсь найти лучший способ получить последнее вхождение переменной в столбце.Найти последнее вхождение определенного значения в столбце

В VBA, я могу сделать следующее:

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

В Google App сценарий, однако, функция find не имеет параметр searchdirection. Я мог бы решить это, итерации по значениям столбца, используя мою собственную функцию, однако, это медленно. Есть ли альтернатива в том, как это сделать, используя собственные функции электронной таблицы google?

+1

вы можете сделать это в ячейке, например '= ArrayFormula (max (строка (A: A) * (A: A = B2)))' ... однако ... я не думаю, что это поможет вы:/ –

+0

классно, хорошо, я обошел, не имея возможности использовать собственные функции в скрипте приложения, так что это именно то, что мне нужно –

+0

oh ... ok ... рад, что я мог бы помочь: D –

ответ

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(); 
} 
Смежные вопросы