繁体   English   中英

比较Google脚本中的字符串

[英]Comparing strings in google scripts

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

  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)是否重复(即所有唯一条目)吗?

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

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

Javascript:快速,Google Spreadsheet重新计算:缓慢,不可预测

问题第二部分的更新

快速而肮脏的方式来随机化列表而不用大惊小怪:

使用= rand(),这将生成一个介于0和1之间的随机数:

  1. 在A列中的名称之前插入一列。
  2. 将公式= rand()放入A2并将其拖动到名称的长度
  3. 用A列中的值对这两行进行排序。(不管是升序还是降序,因为我们只需要一个随机列表)。
  4. 随机名称随处可见。
  5. 然后删除随机数行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM