Google Script - Помогите изменить setValue каждые 10 совпадающих строк

Основываясь на моем предыдущем вопросе, касающемся этого сценария ниже. Можно ли setValue изменить после 10 совпадений, хотелось бы назначить "найдено здесь" для первых 10 совпадений, потом "что-то еще" для еще 10 совпадений, потом "другая фраза" для 10, а потом критично повторять. Таким образом, для каждого совпадения устанавливается значение, которое изменяется каждые 10 совпадающих строк -

function onSearch() {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main Sheet");
    var searchVal1 = sheet.getRange("AE31").getValue();
    var searchVal2 = sheet.getRange("AE32").getValue();
    var searchVal3 = sheet.getRange("AE33").getValue();
    var searchCol1 = sheet.getRange(2,6,sheet.getLastRow()).getValues();
    var searchCol2 = sheet.getRange(2,7,sheet.getLastRow()).getValues();    
    var searchCol3 = sheet.getRange(2,7,sheet.getLastRow()).getValues(); 
    for (var i = 0, len = searchCol1.length; i < len; i++) 
    for (var i = 0, len = searchCol2.length; i < len; i++)

{if (searchVal1 === "")
      (searchCol2[i][0] == searchVal2)
       else if (searchCol1[i][0] == searchVal1)
{if (searchCol2[i][0] == searchVal2)
    {if (searchVal2 === "")
      (searchCol3[i][0] == searchVal3)
       else if (searchCol2[i][0] == searchVal2)
{if (searchVal3 === "")
      else if (searchCol3[i][0] == searchVal3) 

{sheet.getRange(i + 2, 30).setValue("found here")

Это пример набора данных, который я использую: https://docs.google.com/spreadsheets/d/1CAflyzAIyb5Fuz3Ef2sLbhfFO9DXSNIVIh0h7uBEFQo/edit?usp=sharing Спасибо за любую помощь.


person Nick Caines    schedule 10.08.2015    source источник


Ответы (1)


Самый простой способ, который я могу придумать, - это установить другую переменную и увеличивать ее каждый раз, когда запускается setValue(), проверяя значение на соответствие желаемым результатам.

var outCount = 0;
var outVal;

if(outCount < 10){
  outVal = "found here";
} else if(outCount < 20){
  outVal = "something else";
} else if(outCount < 30) {
  outVal = "another phrase";
}
...
sheet.getRange(i + 2, 30).setValue("found here");
outCount++;

Это полностью решает проблему, или я что-то еще упускаю?

person Spencer    schedule 27.02.2018