我有一个脚本,它遍历2个电子表格,在A列中找到重复的值,然后将这些重复值的行附加到另一个表格。
我实际上希望这个脚本做类似的事情,但是追加不重复的行而不是那些行。如何更改它以便将非重复项发送给"新学生"片&#34 ;?我尝试将==更改为!==。但是这会发送整个列表。我一直在寻找一段时间,我知道这可能很容易解决 非常感谢! 布兰登
function compareandupdate() {
var s1 = SpreadsheetApp.openById("XXXXXX-vvxyewdki0J9tGqJl9_f-wZE0zOboQRIscLAA").getSheetByName('Updated Student List');
var s2 = SpreadsheetApp.openById("XXXXXX-yB9Xm1J5RKWS7NF23vD-NTUeIgspbctj3leW4").getSheetByName('Master Student List');
var s3 = SpreadsheetApp.openById("XXXXXX-yB9Xm1J5RKWS7NF23vD-NTUeIgspbctj3leW4").getSheetByName('New Students');
var values1 = s1.getDataRange().getValues();
var values2 = s2.getDataRange().getValues();
var resultArray = [];
for(var n=0; n < values1.length ; n++){
var keep = false;
for(var p=0; p < values2.length ; p++){
Logger.log(values1[n][0]+' =? '+values2[p][0]);
if( values1[n][0] == values2[p][0]){
resultArray.push(values1[n]);
Logger.log('true');
break ;// remove this if values are not unique and you want to keep all occurrences...
}
}
}
s3.getRange(+1,1,resultArray.length,resultArray[0].length).setValues(resultArray);
}
答案 0 :(得分:0)
你可以试试这个
function contains(array, entry) {
for(var p=0; p < array.length ; p++){
if(array[p][0] === entry){
return true;
}
}
return false;
}
for(var n=0; n < values1.length ; n++) {
if(!contains(values2, values1[n][0])) {
resultArray.push(values1[n]);
}
}
答案 1 :(得分:0)
如果您希望保留现有结构(我认为我前段时间写过;-)并且btw有一个不必要的变量(保留)!)您可以使用此修改后的代码版本:
_app.detailsDivInit = function() {
debugger;
$( ".slider" ).slider({
min: 10,
max: 60,
step: 1
})
.each(function() {
var opt = $(this).data().uiSlider.options;
debugger;
//Get the number of possible values
var vals = opt.max - opt.min;
// Space out values
for (var i = 0; i <= vals; i+=opt.step * 20) {
debugger;
var el = $('<label>'+(i + "-" + (i + opt.step*20) )+' <div class="tickMark"></div></label>').css('left',(i/vals*100)+'%');
$( ".slider" ).append(el);
}
});