遍历 Google 电子表格中的单元格

Looping through cells in Google Spreadsheet

我一直忙于尝试在 Google 电子表格中使用内置的 javascript,但是,我没有在 javascript 或 Google 电子表格中工作,我遇到了一些困难。

我的脚本应该读取单元格中的数字 (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);}
}

我查看了 This similar problem,但无法使其适用于我的情况。

非常感谢任何帮助!

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

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

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

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);}
  }
}