我想在滿足多個條件時計算一些行。一切正常,但我得到了一個錯誤的計數。使用數組對我來說是痛苦的(仍在努力改進)。下面你可以找到我的代碼,我也有這個sample。當條件滿足時錯誤計數
function countD()
{
var ss=SpreadsheetApp.openById('1FoHkogaCMpozdRsVdErMNbQTaTgZaG5DORO_4kGHKl8');
var sh=ss.getSheetByName('Response Data');
var rg=sh.getDataRange();
var vA=rg.getValues();
var td = Utilities.formatDate(subDaysFromDate(new Date(),1), Session.getScriptTimeZone(), "dd/MM/yyyy");
var mbs = 0;
var cities = getCity();
sh.getRange(2, 19, cities.length, 1).setValues(cities);
// Logger.log(cities);
for (var j=1;j<vA.length;j++)
{
var d = Utilities.formatDate(new Date(vA[j][0]), Session.getScriptTimeZone(), "dd/MM/yyyy");
if(vA[j][2]=="ABC1" && d==td && vA[j][10]=="Appointment booked" && vA[j][17]=='London')
Logger.log(vA[j][10]);
{
mbs++;
}
Logger.log(mbs)
return mbs;
}
}
它每次都返回值1.我在這個腳本里還有兩個其他的函數。 getCity()
其中提取L列的城市和subDaysFromDate()
,它獲得今天的日期和減去n天。如果您從樣本中打開腳本文件,則可以找到這兩個腳本。
謝謝!
您開始第一個for循環,而不是的數組是基於0的索引在javascript – tommyO
Theres在你的代碼中的一個不必要的塊語句,我認爲它的意圖是成爲if的一部分。 –