当前位置: 代码迷 >> JavaScript >> 在Google表格中找到所有单元格的位置
  详细解决方案

在Google表格中找到所有单元格的位置

热度:49   发布时间:2023-06-07 15:25:46.0

问题是:我有一个很大的电子表格(超过4500行),第一列中有很多数据-例如。 具有不唯一的水果类型,例如:

APPLE
BANANA
APRICOTS
APPLE
BLACKCURRANT
APPLE
BANANA
APRICOTS
etc. 

我需要的-找到每个香蕉,以便能够在某些信息旁边放入单元格,例如。 是。 我试图来循环解决方案,但可以肯定的是我的代码是错误的。 我已经花了很多时间来发明一些东西,但是仍然不了解我所缺少的东西。

function test(){
  var dispatch = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FRUITS"); 
  var find = dispatch.getRange("A:A").getValues();
  var name = "BANANA";

  var lastRow = dispatch.getLastRow();
  var n = 1;
  var temp = dispatch.getRange(n, 2).getValue();
  var i = 0;

  while (temp != ""){
    for(var n in find){
      if(find[n][0] === name){break}
    }
    n++;
    var n = n + i;
    dispatch.getRange(n, 2).setValue("YES");
    var temp = dispatch.getRange(n, 2).getValues();
    var find = dispatch.getRange(n, 2, lastRow).getValues();
    var i = n;
  } 
}

我将非常感谢您的帮助。

代码示例如下:

function test(){
  var dispatch = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FRUITS"); 
  var range = dispatch.getRange(1, 1, dispatch.getLastRow(), 2);
  var values = range.getValues();
  values.map(function(row) {
    if (row[0] == "BANANA")
      row[1] = "YES";
  });
  range.setValues(values);
}

完成了大部分工作。 我们将范围值转换为JS数组,并在映射完成后将其返回。

  相关解决方案