Javascript 在谷歌电子表格的单元格中循环

Javascript 在谷歌电子表格的单元格中循环,javascript,loops,google-apps-script,google-sheets,Javascript,Loops,Google Apps Script,Google Sheets,我一直在忙着在谷歌电子表格中使用内置javascript,然而,由于没有在javascript或谷歌电子表格中使用过,我遇到了一些困难 我的脚本应该读取单元格中的一个数字(1-3),然后从该数字解析一个图像到下面的单元格(我一直在使用setFormula命令) 到目前为止,它只适用于1个单元格(我现在选择的是B6),但我想在每个其他单元格中循环一列数字(这样在脚本运行后,它就是数字图片等)-我只是不知道如何 我现在使用的代码是: function numbtoimage() { var

我一直在忙着在谷歌电子表格中使用内置javascript,然而,由于没有在javascript或谷歌电子表格中使用过,我遇到了一些困难

我的脚本应该读取单元格中的一个数字(1-3),然后从该数字解析一个图像到下面的单元格(我一直在使用setFormula命令)

到目前为止,它只适用于1个单元格(我现在选择的是B6),但我想在每个其他单元格中循环一列数字(这样在脚本运行后,它就是数字图片等)-我只是不知道如何

我现在使用的代码是:

    function numbtoimage() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var url = 'IMAGE("https://dl.dropboxusercontent.com/s/bpqy8o796casqjl/belt.JPG?dl=0", 2)';
var url2 = 'IMAGE("https://dl.dropboxusercontent.com/s/4q8sakhkpot0h65/belt2.JPG?dl=0",2)';
var url3 = 'IMAGE("https://dl.dropboxusercontent.com/s/kvsf4z6z45rcg53/belt3.JPG?dl=0",2)';
var cell = sheet.getRange("B6")
var data = cell.getValue()
if(data==1) {cell.offset(1, 0, 1).setFormula(url);}
else if(data==2) {cell.offset(1, 0, 1).setFormula(url2);}
else if(data==3) {cell.offset(1, 0, 1).setFormula(url3);}
}
我已经看过了,但无法使它适用于我的案例

非常感谢您的帮助

  • 尼古拉斯

    • 您需要某种循环来遍历数据。我建议做一个循环。 当前编写脚本是为了获取一个单元格值,而不是所有值。 因此,一次获取所有值,然后检查其中的内容可能是一个好主意

      同样从你的问题来看,不清楚在哪里可以找到这些数字。 只在B栏

      下面是一个快速示例(未测试),它通过B列查找一个数字,并应根据该数字在下面的单元格中插入链接。此代码基于原始示例,未经测试,但希望能有所帮助

      function numbtoimage() {
        var ss = SpreadsheetApp.getActiveSpreadsheet();
        var sheet = ss.getSheets()[0];
        var url = 'IMAGE("https://dl.dropboxusercontent.com/s/bpqy8o796casqjl/belt.JPG?dl=0", 2)';
        var url2 = 'IMAGE("https://dl.dropboxusercontent.com/s/4q8sakhkpot0h65/belt2.JPG?dl=0",2)';
        var url3 = 'IMAGE("https://dl.dropboxusercontent.com/s/kvsf4z6z45rcg53/belt3.JPG?dl=0",2)';
        var values = sheet.getValues();
      
        for(i=0; i < values.lenth ; i++){
      
          if(values[i][1]==1) {sheet.getRange(i+2, 2).setFormula(url);}
          else if(values[i][1]==2) {sheet.getRange(i+2, 2).setFormula(url2);}
          else if(values[i][1]==3) {sheet.getRange(i+2, 2).setFormula(url3);}
        }
      }
      
      函数numbtoimage(){
      var ss=SpreadsheetApp.getActiveSpreadsheet();
      var sheet=ss.getSheets()[0];
      var url='图像(“https://dl.dropboxusercontent.com/s/bpqy8o796casqjl/belt.JPG?dl=0", 2)';
      变量url2='图像(“https://dl.dropboxusercontent.com/s/4q8sakhkpot0h65/belt2.JPG?dl=0",2)';
      变量url3='图像(“https://dl.dropboxusercontent.com/s/kvsf4z6z45rcg53/belt3.JPG?dl=0",2)';
      var values=sheet.getValues();
      对于(i=0;i