Google App脚本 - 比较和复制数据(URL重定向列表)

时间:2017-07-14 12:46:07

标签: google-apps-script google-sheets

请您知道如何在Google Spreadsheets或JavaScript中解决以下工作流程吗?

1)我有一个旧网址列表(表格)(每行1个网址)

2)我有一个新网址列表(表格)(每行1个网址)我想与旧的相似网址配对(301重定向)

3)我从URL中选择了一部分字符串,可用于搜索和配对

4)我需要在新网址列表中搜索字符串,如果匹配,我需要复制这个新网址并将其复制并粘贴到旧网址旁边的新列(D)。 / p>

image of table

我尝试过谷歌和许多Google Spreadsheets附加组件,但我找不到任何可行的方法。

我有算法的想法,但不知道如何在Google App Script中编写它(并且文档没有帮助)

1)for循环从B列的每一行中选择数据

2)另一个for循环选择F列中的每一行

3)比较,如果步骤1中的数据在F列的任何单元格内(对于步骤2的循环)

4)如果匹配,将单元格从F列复制到D列,在它找到的子字符串旁边

请知道如何使其发挥作用?

感谢您的任何提示。

1 个答案:

答案 0 :(得分:1)

function redirectSearch() 
{
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sht=ss.getSheetByName('Redirect');
  var rng=sht.getRange(2,1,sht.getLastRow(),sht.getLastColumn());
  var rngA=rng.getValues();
  var substringA=[];
  for(var i=0;i<rngA.length;i++)//load the substring Array
  {
    substringA.push(rngA[i][1]);
  }
  for(var i=0;i<rngA.length;i++)
  {
    for(var j=0;j<substringA.length;j++)
    {
      if(String(rngA[i][3]).indexOf(substringA[j])>-1)//look for substring in all of the new urls
      {
        rngA[j][2]=rngA[i][3];//if found copy them to column C next to substring
      }
    }
  }
  rng.setValues(rngA);//reload results and original data
}