比较谷歌脚本中的字符串

时间:2015-03-16 17:07:17

标签: google-apps-script

尝试在google脚本中创建一个非常基本的功能。基本上,我想从单元格J5读取一个值并在L5中递增值,直到J5说“好!” (这将基于我的电子表格中的其他内容发生)。我似乎无法测试字符串..在运行时,代码似乎只是随机停止或永远运行(我还需要代码在它说“好!”时不触及电子表格,否则......一切都得到了自从公式再次运行后改变了。)

  function makeSelections() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var testcell = ss.getRange('J5')
      var testcellValue = testcell.getValue();
      for (var i = 0; testcellValue != "Good!"; i++) {
        ss.getRange('L5').setValue(i); 
        testcellValue = testcell.getValue();
      }
    }
编辑:正如zbnrg指出的那样,电子表格似乎太慢而无法跟上脚本。任何人都可以帮助代码检查范围(A2-A14)是否没有重复(即所有唯一条目)?

1 个答案:

答案 0 :(得分:0)

重新计算其他内容"在电子表格中比for循环慢;您可以暂停计算并让电子表格重新计算。在for循环中包括:

Utilities.sleep(1000); //1000 milliseconds for 1 sec, 2000 for 2, etc.

Javascript:快速,Google Spreadsheet recalc:缓慢,不可预测

问题的第二部分更新

快速而肮脏的方式来随机化列表而不会烦恼于脚本:

使用= rand(),这会生成0到1之间的随机数:

  1. 在A列中的名称前插入一列。
  2. 将公式= rand()放入A2并将其拖动到名称的长度
  3. 按照A列中的值对这两行进行排序。(如果它是升序或降序,则无关紧要,因为我们只需要一个随机列表)。
  4. 你去,随机的名字。
  5. 然后删除随机数行。
相关问题