首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript -条件日期和循环日期不匹配

Javascript -条件日期和循环日期不匹配
EN

Stack Overflow用户
提问于 2018-11-20 04:48:29
回答 1查看 35关注 0票数 0

这是代码的一部分。其余的代码可以工作,但在这一部分我坚持,我不知道为什么!

代码语言:javascript
复制
function rndDATgen(F){

var fRNG = SpreadsheetApp.getActiveRange();
var fROW = fRNG.getRow();

var ss = SpreadsheetApp.getActiveSpreadsheet();
var SRCsheet = ss.getSheetByName("Dates");
var DSTsheet = ss.getActiveSheet();


var rngDATE = SRCsheet.getDataRange();
var valDATE = rngDATE.getValues();

var colSRNG = DSTsheet.getRange('A1:ZZ7');
var colVALUES = colSRNG.getValues();

var stDAT = DSTsheet.getRange("S1").getValue();
var enDAT = DSTsheet.getRange("S2").getValue();

var DSTclr = 7; 
var DSTrow = 7;
var nDAT = 0;
var DSTlr = 7;
var DSTc = DSTsheet.getRange(1, 9, 500,1);
var DSTvalues = DSTc.getValues();


while (DSTvalues[DSTlr - 1][0] != ""){
   DSTlr++;
}
  DSTlr = DSTlr - 1;

var totRNGstat = DSTsheet.getRange('T7:T' + DSTlr);
var totRNGvalSTAT = totRNGstat.getValues();

var totRNG = SRCsheet.getRange('A1:A100');
var totRNGval = totRNG.getValues();

var totRNGdat = DSTsheet.getRange('S7:S' + DSTlr);
var totRNGvalDAT = totRNG.getValues();

var stDATrow = 0;
var enDATrow = 0;

for (var i=0; i<100; i++) {
if (totRNGval[i] == stDAT) {
  stDATrow = i + 1;
}
}

在这最后一段代码中,我尝试迭代以查找数组中的位置是某个日期(在本例中,开始日期= stDAT和范围totRNGval)!通过尝试返回stDAT和totRNGvali,这两个函数都以相同的格式返回日期01/01/2018。我也尝试过作为价值,但仍然没有成功!

代码语言:javascript
复制
for (var i=0; i<100; i++) {
if (totRNGval[i] == stDAT) {
stDATrow = i + 1;
}
}

当我返回值时,它总是0,但可以肯定的是,作为开始日期的范围内有排除日期。

我也手动检查,它是相同的值(没有浮点数),它确实找到了任何其他函数: MATCH,VLOOKUP...!我尝试过将==更改为===,但没有成功!

为什么与数组的元素比较时不能识别循环中的开始日期?

EN

回答 1

Stack Overflow用户

发布于 2018-11-20 06:23:56

最后,我绕过了这个问题,只需在" T1 : T2“=Match(T1,DATES!A:A,0)中添加公式,并使用getValue()从T1&T2调用value。

不过,如果有人知道为什么我的脚本不能工作,请先告诉我,我很想学习它!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53382411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档