我想運行一個IF函數來匹配第一列中的日期到「上個月」,最後一列中的日期匹配到「最新日期」並複製並粘貼所有與此條件匹配的行(不包括第一列和最後一列)到列表底部。 這是我運行腳本,它沒有找到任何匹配的,當我知道一個事實,至少有100行符合此條件:IF函數 - 谷歌腳本 - 多個條件
function myFunction() {
var MCS = SpreadsheetApp.openById('[ID REMOVED FOR THIS Q]');
var MRB = MCS.getSheetByName('Media Rates Back');
var MRBrange = MRB.getRange(1,1,MRB.getLastRow(),1).getValues();
var dest = MRBrange.filter(String).length + 1;
var LM = new Date();
LM.setDate(1);
LM.setMonth(LM.getMonth()-1);
var LMs = Date.parse(LM);
var Datenew = MRB.getRange(MRB.getLastRow(),MRB.getLastColumn()).getValue();
var Datecol = MRB.getRange(1,6,MRB.getLastRow(),1).getValues();
var Datenews = Date.parse(Datenew);
for(var i=0; i<MRBrange.length; i++) {
if(Date.parse(MRBrange[i])==LMs && Date.parse(Datecol[i])==Datenews) {
var NewRange = MRB.getRange(i,2,(MRB.getLastRow()-i),5);
var NewRangeV = NewRange.getValues();
var destination = MRB.getRange(MRB.getLastRow()+1,2);
Logger.log(NewRange);
NewRange.copyTo(destination);
}else{
Logger.log(i);
}
}}
任何幫助,將不勝感激!
您是否嘗試將Date.parse()方法中的數據放入if語句之前的var中?另外,你是否嘗試在兩個不同if語句中分開你的deux比較if(..){if(..){}}? –
我剛剛做出這些更改,但仍然無法正常工作 - 謝謝。我認爲在使用[i] – SerCo
時肯定會出現問題。事實上,您使用的是2維數組,您應該使用[I] [0]而不是簡單的[I]來捕捉正確的值 –