Я создаю сценарий для сравнения значения 2 в другой электронной таблице, если значение на листе A отсутствует на листе B, оно будет скопировано в следующую пустую строку листа B, а для l oop - до последнего значения в листе A. Просто есть проблема, хотя значение на листе A = лист B, скрипт не пропустит это значение, все равно запишите его в лист B. Пожалуйста, посмотрите мой скрипт и дайте мне несколько идей. Я новичок в Gscript, просто нужны инструкции от всех.
Лист данных A - слева и лист B:
function Compare() {
var ss = SpreadsheetApp.openById('Link sheet B');
var hss = ss.getSheetByName('2');
var ds = SpreadsheetApp.openById('Link sheet A');
var dds = ds.getSheetByName('Data');
var cmpcol = "A";
var cmpdds = dds.getRange(cmpcol+"1").getColumn();
var cmphss = hss.getRange(cmpcol+"1").getColumn();
var ddsmrw = dds.getLastRow();
var hssmrw = hss.getLastRow();
Logger.log(cmpdds,cmphss,ddsmrw,hssmrw);
var ddsval = dds.getRange(3,cmpdds,ddsmrw,1).getValues();
var hssval = hss.getRange(2,cmphss,hssmrw,1).getValues();
Logger.log(ddsval);
Logger.log(hssval);
for (i=0; i <= ddsmrw; i++){
var dvalue = ddsval[i];
Logger.log(dvalue);
for (j=0; j <= hssmrw; j++){
var hvalue = hssval[j];
Logger.log(hvalue);
if (hvalue == dvalue){
break;}
else {
hss.getRange('A' + ((hssmrw+1))).setValue(dvalue);
hssmrw++;
Logger.log(hssmrw);
break;
}
}
}
}