2013-09-10 3 views
1

Я ищу, чтобы вытащить адреса электронной почты из одного столбца и поместить их в другой столбец. Единственное, с чем я сейчас сталкиваюсь, это то, что это нужно делать на основе того, являются ли данные в двух других столбцах одинаковыми.Заполнение одного столбца на основе содержимого другого

У меня есть имена компаний в одной колонке и адреса электронной почты в следующем. Я копирую в названиях компаний из отдельной таблицы, где она не в том же порядке. Я хотел бы иметь возможность заполнить столбец А адресами электронной почты на основе того, совпадает ли название компании, но я в настоящее время изо всех сил пытаюсь понять, как это возможно.

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

Который не делает то, что мне нужно. Любая помощь или указатели были бы высоко оценены! Очень простой пользователь на данный момент, так что все-таки работа в темноте!

ответ

3

Просто небольшая ошибка ... вам нужен оператор равенства «==» для сравнения значений:

if (showname1 == showname2) 

Внимание: При переборе над массивами, также не рекомендуется использовать for (... in ...) конструкцию, как и это также будет иметь доступ к перечислимым свойствам объекта, а не только к итерируемому массиву данных. Вместо этого, когда используется for (start, limit, increment) Подробнее: Why is using "for...in" with array iteration a bad idea?

Смежные вопросы