Google apps script 比较google脚本中的字符串

Google apps script 比较google脚本中的字符串,google-apps-script,Google Apps Script,尝试在google脚本中创建一个非常基本的函数。基本上,我想从单元格J5中读取一个值,并在L5中增加该值,直到J5说“好!”(这将根据我的电子表格中的其他内容发生)。不过,我似乎无法测试字符串。。运行时,代码似乎只是随机停止或永远运行(我还需要代码在电子表格显示“好!”时不要触碰它,否则……公式再次运行后,所有内容都会更改) 编辑:正如zbnrg指出的,电子表格速度太慢,跟不上脚本,这似乎是个问题。任何人都可以用代码检查一个范围(A2-A14)是否没有重复(即所有唯一的条目)?电子表格中“其他内

尝试在google脚本中创建一个非常基本的函数。基本上,我想从单元格J5中读取一个值,并在L5中增加该值,直到J5说“好!”(这将根据我的电子表格中的其他内容发生)。不过,我似乎无法测试字符串。。运行时,代码似乎只是随机停止或永远运行(我还需要代码在电子表格显示“好!”时不要触碰它,否则……公式再次运行后,所有内容都会更改)

编辑:正如zbnrg指出的,电子表格速度太慢,跟不上脚本,这似乎是个问题。任何人都可以用代码检查一个范围(A2-A14)是否没有重复(即所有唯一的条目)?

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

Utilities.sleep(1000); //1000 milliseconds for 1 sec, 2000 for 2, etc.
Javascript:fast,谷歌电子表格recalc:slow,不可预测

问题第二部分的更新

在不使用脚本的情况下快速而肮脏地随机排列列表:

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

  • 在a列中的名称之前插入列
  • 将公式=rand()放入A2中,并将其拖动到名称的长度
  • 根据A列中的值对这两行进行排序(升序或降序都无所谓,因为我们只需要一个随机列表)
  • 好了,随机的名字
  • 然后删除随机数行

  • 你的密码在我这边运行得很好。当我在J5处输入“Good!”时,L5处的计数停止。这肯定是个问题,因为我每次运行它时都会看到它“超出”标记。。但似乎找不到足够长的延迟时间。即使在5秒的时候,它仍然没有命中。我想我需要把一些计算转移到脚本上?有没有一种简单的方法来计算某个范围内的唯一条目?您所说的“计算唯一条目”是什么意思?答案可能是肯定的,而且如果您认为可以的话,一定要将这些依赖的计算输入到脚本中,它可能比您预期的要简单。这适用于任何其他时候,你可能有一个脚本和工作表同时“思考”,并取决于彼此的输出。谢谢你的建议和帮助!我有一份A2-A14中13个名字的名单。使用电子表格公式,我目前正在随机排列姓名列表,但我不希望任何姓名重复。这就是这个脚本的用武之地。。我基本上是在欺骗电子表格再次运行所有公式,只需将其写入一个单元格,直到公式显示没有重复!我将在一个脚本上为我做最后一部分,因为它应该解决问题!欢迎您的任何意见。感谢您的接受!我在上面的答案中加入了一个非脚本解决方案,我认为这才是您真正想要的。谢谢。。我不确定这是否对我有用,因为这有点复杂。真的,我从5个不同的随机列表中取了名字。。我不想要任何复制品。我可以很容易地确保我从一个特定列表中获取的X个名称之间没有重复项,但问题在于它与其他列表相关。。因此,在我走运之前,通过“暴力强迫”来解决问题。
    Utilities.sleep(1000); //1000 milliseconds for 1 sec, 2000 for 2, etc.