这里有一些代码,用于从可能输入或不输入日期的列表中检索数据。如果有日期,将提取月份,并根据它是什么月份,我希望单元格(在本例中为 17,4)计算该月有多少个日期。循环遍历页面以提取所有日期,但我不知道如何计算或将多个日期添加到 (17,4)。
for(var i =8;i<=j;i++) {
var dates = oppwon.getRange(i,22).getValue();
var tiers = oppwon.getRange(i,14).getValue();
var month = new Date(dates).getMonth();
switch (true){
case((month==1)):
if(tiers==1)
{summary.getRange(17,4).setValue()+1;}
break;
最佳答案
- 当
month == 1
且tiers = 时,您想要计算“D17”单元格的值 (
。getRange(17,4)
) = 1
如果我的理解是正确的,那么这个修改怎么样?请将此视为多个答案之一
修改后的脚本:
请按如下方式修改您的脚本。
从:for(var i =8;i<=j;i++) {
var dates = oppwon.getRange(i,22).getValue();
var tiers = oppwon.getRange(i,14).getValue();
var month = new Date(dates).getMonth();
switch (true){
case((month==1)):
if(tiers==1)
{summary.getRange(17,4).setValue()+1;}
break;
到:
var range = summary.getRange(17,4); // Added
var currentValue = range.getValue(); // Added
for (var i = 8; i <= j; i++) {
var dates = oppwon.getRange(i,22).getValue();
var tiers = oppwon.getRange(i,14).getValue();
var month = new Date(dates).getMonth();
switch (true) {
case (month == 1):
if (tiers == 1) {
range.setValue(++currentValue); // Modified
}
break;
- 首先,检索“D17”单元格的当前值。然后,通过添加
1
的数量将新值放入单元格。
注意:
- 在for循环中使用
getValue()
会导致较高的处理成本。但我不确定你的整个剧本。所以我无法就此提出建议。
引用文献:
如果我误解了您的问题并且这不是您想要的结果,我深表歉意。届时,您能否提供示例电子表格和用于复制您的问题的脚本。借此,我想确认一下。
关于javascript - 如何从循环范围内计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57897805/