【问题标题】:Google Sheets Script - Search in Arrays and Replace Values in Next ColumnGoogle 表格脚本 - 在数组中搜索并替换下一列中的值
【发布时间】:2018-02-11 15:59:47
【问题描述】:

由于某种原因,我真的无法在谷歌脚本中执行简单的搜索和替换(使用谷歌表格)。

我想做的是

  1. 从 Sheet1 中的数组中读取值
  2. 在 sheet2(两列)的二维数组中查找值。找到值后,脚本会将“+1”添加到工作表 2 中找到的值旁边的列中的值。
  3. 对 sheet1 中的下一个值重复

假设我在工作表 1 中有一个值“Muse”。我想在工作表 2 中搜索“Muse”,如果该值旁边的列已经有 1,它应该添加一个并将其写回。就是这样。然后对 sheet1 中的下一个值执行相同操作。

我搜索了类似的脚本,但遗憾的是无法根据我的需要进行调整。

编辑:这让我发疯了,这就是我目前所拥有的:

function findingReplacing()
{
  var sh1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1');
  var sh2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet2');
  var searchfor = sh1.getRange('B2').getValues();
  var replacewith = sh2.getDataRange().getValues();

  for(var i=1;i<replacewith.length;i++)
  {
    if(replacewith[i][0]==searchfor)
    {
      replacewith[i][1]=1;
    }
  }
  //sheet2.SetValues(replacewith);
  sh2.setValues(replacewith);
}

【问题讨论】:

  • 你试过什么?如果您发布代码,我们可以看到您可能出错的地方。

标签: javascript arrays google-apps-script


【解决方案1】:

我自己回答了:这行得通:

function findingReplacing()
{
  var sh1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1');
  var sh2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet2');
  var CustDunned = sh1.getRange('B2').getValues();
  var range = sh2.getRange("A:B");
  var rangeA = range.getValues()

  for(var i=1;i<rangeA.length;i++)
  {
    if(rangeA[i][0]==CustDunned)
    {
      rangeA[i][1]=rangeA[i][1]+1;
    }
  }
  range.setValues(rangeA);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-24
    • 2020-12-15
    • 2021-07-05
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多