根据另一列的内容填充一列

时间:2013-09-10 11:52:42

标签: google-apps-script google-sheets

我想从一个列中提取电子邮件地址并将它们放在另一列中。我目前唯一要努力的是,这需要根据其他两列中的数据是否相同来完成。

我在一列中有公司名称,在下一栏中有电子邮件地址。我正在从单独的电子表格中复制公司名称,而电子表格的顺序不同。如果公司名称相同,我希望能够使用电子邮件地址填充A列,但我目前正在努力弄清楚这是如何实现的。

Here is a link as to an example of what I mean.

我想我现在已经离开了我的代码,但这就是我所拥有的。

function pullEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;   var numRows = 2;

  var dataRange = sheet.getRange(startRow, 1, numRows, 5)   
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var showname1 = row[1];
    var showname2 = row[3];
    var values1 = sheet.getRange("B2:B100").getValues();
    var values2 = sheet.getRange("D2:D100").getValues();

    if (showname1=showname2){
      sheet.getRange("A2").setValue(sheet.getRange("E2").getValues());     
    }     
  } 
}

哪些不能满足我的需要。任何帮助或指针将不胜感激!一个非常基本的用户,现在仍然在黑暗中工作!

1 个答案:

答案 0 :(得分:3)

只是一个小错误......您需要使用等于运算符“==”来比较值:

if (showname1 == showname2)

注意:当迭代数组时,也不建议使用for (... in ...)构造,因为这也将访问对象的可枚举属性,而不仅仅是可迭代数据数组。相反,使用for (start, limit, increment)时请阅读更多内容:Why is using "for...in" with array iteration a bad idea?