将值复制到另一个带有条件的工作表



我感觉今天我不能用我的脚本做任何事情。我试图做一个简单的测试,如果在cell1的日期等于在cell2的日期,那么我将复制和粘贴数据到另一个文件,在一个特定的工作表。如果cell1不同于cell2,我将复制数据到相同的其他文件中,但在不同的工作表中。我做不到。我做错了什么?谢谢你的帮助。j .

function copytransactionTodispatchN() {
var sss = SpreadsheetApp.getActiveSpreadsheet();; // sss = source spreadsheet
var ss = sss.getSheetByName("Nouveau Client - Transaction du jour"); // ss = source sheet
var ssn = sss.getSheetByName("Nouveau Client"); // ss = source sheet
//Get full range of data
var SRange = ss.getRange('A2:f2');
var SData = SRange.getValues();
var dateachat = ssn.getRange('c20').getValues;
var datelivraison = ssn.getRange('e31').getValues;
if(dateachat == datelivraison){ 
var tss = SpreadsheetApp.openById("idoftheotherfile"); // tss = target spreadsheet
var ts = tss.getSheetByName("sheet1"); // ts = target sheet
ts.getRange("b"+(getLastDataRow(ts)+1)+":i"+(getLastDataRow(ts)+1)).setValues(SData); 
} 
else {var tss = SpreadsheetApp.openById("idoftheotherfile"); // tss = target spreadsheet
var ts1 = tss.getSheetByName("Sheet2"); // ts = target sheet
//set the target range to the values of the source data
ts1.getRange("a"+(getLastDataRow(ts)+1)+":h"+(getLastDataRow(ts)+1)).setValues(SData);
}
}
function getLastDataRowN(sheet) {
var lastRow = sheet.getLastRow();
var range = sheet.getRange("b" + lastRow);
if (range.getValue() !== "") {
return lastRow;
} else {
return range.getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
}              
}

好的,错误是:

  1. getlastrow函数在条件2下不工作
  2. 日期的测试不工作,我不得不用if(dateachat.valueOf() == datelivraison.valueOf())代替if(dateachat == datelivraison.)

现在一切都好了。谢谢大家!!

var sss = SpreadsheetApp.getActiveSpreadsheet();; // sss = source spreadsheet
var ss = sss.getSheetByName("Nouveau Client - Transaction du jour"); // ss = source sheet
var ssn = sss.getSheetByName("Nouveau Client"); // ss = source sheet
//Get full range of data
var SRange = ss.getRange('A2:h2');
var SData = SRange.getValues();
var dateachat = ssn.getRange('c20').getValues;
var datelivraison = ssn.getRange('e31').getValues;
if(dateachat.valueOf() == datelivraison.valueOf()){ 
var tss = SpreadsheetApp.openById("IDtarget"); // tss = target spreadsheet
var ts = tss.getSheetByName("Sheet1"); // ts = target sheet
ts.getRange("b"+(getLastDataRowb(ts)+1)+":i"+(getLastDataRowb(ts)+1)).setValues(SData); 
} 
else {var tss = SpreadsheetApp.openById("IDtarget"); // tss = target spreadsheet
var ts = tss.getSheetByName("Sheet 2"); // ts = target sheet
//set the target range to the values of the source data
ts.getRange("a"+(getLastDataRowa(ts)+1)+":h"+(getLastDataRowa(ts)+1)).setValues(SData);
}
}
function getLastDataRowb(sheet) {
var lastRow = sheet.getLastRow();
var range = sheet.getRange("b" + lastRow);
if (range.getValue() !== "") {
return lastRow;
} else {
return range.getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
}              
} 
function getLastDataRowa(sheet) {
var lastRow = sheet.getLastRow();
var range = sheet.getRange("a" + lastRow);
if (range.getValue() !== "") {
return lastRow;
} else {
return range.getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
}              
}```

var dateachat =ssn.getRange("甜").getValues;

变量ssn没有在任何地方定义,这可能导致dateachat未定义或为空。

最新更新