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