Google Script - 帮助每隔10个匹配的行更改setValue

时间:2015-08-10 20:48:13

标签: javascript google-sheets setvalue

基于我之前关于此脚本的问题。是否有可能在10场比赛后更改setValue,我想为前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 任何和所有帮助都会非常感谢你。

1 个答案:

答案 0 :(得分:0)

我能想到的最简单的方法是设置另一个变量,并在每次运行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++;

这是否完全解决了这个问题,还是我缺少了更多?