"记录"谷歌表格中的单元格值

时间:2018-01-13 08:56:34

标签: google-apps-script google-sheets

假设我在单元格A1中设置了一个随机数,每5分钟滚动1,2,3,4,5,6

如果排名第6,我想打印#34;祝贺!"在单元格B1中,永久保留(直到我重置)

说,在A1单元格中,它在20分钟后滚动了6,它打印出了#34;祝贺!"单元格B1,然后在5分钟后,单元格A1中的值变为3,但是祝贺!"留在单元格B1

是否有简单的功能或脚本来执行此操作?我该如何重置它?

1 个答案:

答案 0 :(得分:0)

这应该这样做。设置一个时间驱动的触发器,每5分钟运行一次setRandom。这在A1中设置一个随机数,检查A1 = 6,B1是否为空。如果是,它将B1设置为"恭喜!"。它还会创建一个名为Reset的自定义菜单,该菜单会重置以清空B1。

function onOpen(){
 SpreadsheetApp.getActiveSpreadsheet().addMenu(
    'Reset', [ 
      { name: 'Reset', functionName: 'reset' },
      ]);  
}
function setRandom() {
 var ss=SpreadsheetApp.getActiveSpreadsheet()
 var s=ss.getSheetByName("Sheet1")
 var cell=Math.floor(Math.random() * 6) + 1  //Generate random number between 1 and 6 (6 is max and 1 is min)
     s.getRange("A1") .setValue(cell)  //Set A1 to random mumber  
var val= s.getRange("B1").getValue() // Get B1 value
  if(cell==6 && val==''){ // If Random Number is 6 and B1 is blank set B1 to "congratulations!"
      s.getRange("B1").setValue("congratulations!")
  }
  else{return}
 }  
 function reset(){     
 var ss=SpreadsheetApp.getActiveSpreadsheet()
 var s=ss.getSheetByName("Sheet1")    
 var val= s.getRange("B1").setValue('')
      }