Google Apps Script | Функция leader

Nov 03, 2012 17:18

А вот еще одна функция - функция leader(num, txt). Суть в том, что эта функция позволяет искать наименование фирмы в какой-то одной отрасли по номеру рейтинга. Например, так:



Здесь первый аргумент - это порядковый номер в рейтинге (1,2 и так далее), второй аргумент - наименование отрасли (например, "розничная торговля"). Функция идет по рейтингу в порядке расположения фирм и ищет среди розничных предприятий первое, потом второе и так далее. Когда оно встречает розничное предприятие с нужным номером - оно возвращает его наименование.

function leader (num, txt) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Главная");
//var rng = sheet.getRange(2, 1, 10, 13);
var rng = sheet.getRange("A2:N401");
var vls = rng.getValues();
var cnt = 0;
for(var i=1;i<=400;i++)
{
if (vls[i][6] == txt) {
cnt++;
if (cnt == num) {
return vls[i][2];
}
}
}
return "N/A";
}

Да, здесь vls[i][6] - это значение в шестом столбце (счет начиная с нуля, по сути в седьмом), где указывается наименование отрасли, vls[i][0] - это столбец, где указан рейтинговый номер компании (с 1 по 400), и vls[i][2] - это ячейка, где указано наименование фирмы

P.S. Да, кстати, производительность работы Google SpreadSheet при обработке данных - вполне удовлетворительная. Это радует. Что правда нельзя сказать о работе функции repair(). В Excel скорость все-таки значительно выше. Я так понял, что потеря времени происходит тогда, когда вносить изменения в большое количество ячеек

google, scripts

Previous post Next post
Up