Попробуйте это:
function findEmails() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet1');
var vA=sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn()).getValues();
var list=sh.getRange(1,1,sh.getLastRow()-1,1).getValues().map(function(r){return r[0]}).filter(function(e){return e;});
var found=[];//stores the email found and the cell it came from in A1 notation
for(var i=0;i<vA.length;i++) {
if(vA[i][2]) {
var emA=vA[i][2].toString().split('\n');emA.forEach(function(e,j){var idx=list.indexOf(e);if(idx>-1){found.push({email:e,location:sh.getRange(i+1,3).getA1Notation()});}});
}
if(vA[i][4]) {
var emA=vA[i][4].toString().split('\n');emA.forEach(function(e,j){var idx=list.indexOf(e);if(idx>-1){found.push({email:e,location:sh.getRange(i+1,5).getA1Notation()});}});
}
}
Logger.log(found);
}
Это то, что было найдено в моем примере:
[{location=C1, email=email4@gmail.com},
{location=E1, email=email7@gmail.com},
{location=E1, email=email13@gmail.com}]
Эти электронные письма не будут такими же, как ваши, поскольку я использовал свои собственные данные , Но вы можете получить представление о том, как это сделать, просмотрев код. Я ожидаю, что электронные письма всегда будут разделены '\ n' (переводом строки);