【发布时间】:2018-08-13 08:25:17
【问题描述】:
我有一个脚本可以比较谷歌电子表格上两个不同工作表中单元格中的值。它可以成功匹配找到匹配项并将它们复制到第三张纸上。但是,我想将选择扩展到匹配项左侧的列,并复制匹配项和相邻单元格。
澄清一下:电子表格 1 包含电子邮件和专业,电子表格 2 包含他们所属大学的专业。我正在匹配专业,所以我只能收到特定大学的人的电子邮件。现在它复制的只是带有专业的单元格,但我希望它也复制带有电子邮件的单元格(这是左侧的一列)。
function match_CoE() {
//Set variables for active spreadsheet, input data, comparitive data, and finalized match input.
var sh = SpreadsheetApp.getActive();
var input = sh.getSheetByName('AOP 2018-2019').getRange("C1:C").getValues();
var values = sh.getSheetByName('Major-College-Conversion').getRange("A72:A75").getValues();
var output = sh.getSheetByName('College of Education Contacts');
var match = [];
//Compare Input to Pre-determined values for matches
for (i in input){
var setInput = input[i][0];
var exists = false;
for (j in values){
var setValues = values[j][0];
if (setValues == setInput){
exists = true;
break;
}
} // end for j
if (exists == true){
match.push([setInput])
}
}//end for i
//Copy matching values to new sheet.
output.getRange(1, 1, match.length, 1).setValues(match);
}
【问题讨论】:
-
你为什么不声明
var mail = sh.getSheetByName('AOP 2018-2019').getRange("D1:D").getValues();,在exist == true时将其值推入另一个数组,然后像使用match一样将其值填充到output中? -
@HaPhan 我不确定你的意思?那不只是复制列中的所有数据吗?
-
谢谢@tehhowch 和@HaPhan!我能弄明白,你们帮了大忙!
标签: google-apps-script google-sheets