我有两个工作表,第一个使用不同的公式连接第三方生成/验证电子邮件地址是否有效。这发生在F列中,它使用粘贴到D列中的“域”来运行该功能。无论如何,一旦工作表运行了所有公式并得到了结果,它就会输出0-1之间的分数。
现在,我想要位于B,C,D和B列中的所有细节(姓名,电子邮件,公司,域名)。 F将干净地输入到工作表2中的B,C,D,E列中。
到目前为止,这是我的代码,但它似乎不起作用 - 不太确定。
function ouput(){
var sheet = SpreadsheetApp.getActive().getSheetByName('Output Clean Data to ESP').getRange('B2:E100').getValues();
var sendex = SpreadsheetApp.getActive().getSheetByName('Email Scraper & Verifier Custom').getRange('U2:U100').getValues();
var leads = SpreadsheetApp.getActive().getSheetByName('Email Scraper & Verifier Custom').getRange('B2:D100').getValues();
if (sendex > 0.8) {
for (var i = 0;i<leads;i++)
break;
leads.CopyTo(sheet)
}
}
答案 0 :(得分:0)
你想做点什么:
for (var lead = 0; lead < leads.length; lead++){
if (sendex[lead] > 0.8){
sheet.push(leads[lead]);
}
}
SpreadsheetApp.getActive().getSheetByName('Output Clean Data to ESP').getRange(2,2,sheet.length,4).setValues(sheet)
? (请注意,此功能目前总是会获得2:100的范围并附加并覆盖新的得分线索,但我不确定您是否已经在copyTo中处理了这个问题)
答案 1 :(得分:0)
谢谢!我最终让它工作的方式是使用以下代码。它更好地将getrange值保留在变量中并在以后定义它们。
destrow只管理空行并跳过它们。
function output()
{
var sheet = SpreadsheetApp.getActive().getSheetByName('Output Clean Data to ESP');
var sendex = SpreadsheetApp.getActive().getSheetByName('Email Scraper & Verifier Custom').getRange('U2:U100').getValues();
var leads = SpreadsheetApp.getActive().getSheetByName('Email Scraper & Verifier Custom')
var destRow = 2;
for (var i = 0; i < sendex.length; i++)
{
if (sendex[i] > 0.74){
var row = 2 + i;
leads.getRange(row, 2, 1, 3).copyTo(sheet.getRange(destRow, 1, 1, 3),{contentsOnly:true})
leads.getRange(row, 6, 1, 1).copyTo(sheet.getRange(destRow, 4, 1, 1),{contentsOnly:true})
destRow += 1;
}
}
{
}
}