如何以Google脚本代码的形式编写特定公式

时间:2018-09-04 05:59:38

标签: google-apps-script google-sheets

我正在尝试将附带的公式写为Google脚本语言。我没有这样做的知识。有人,请在下面的评论中帮助我将其作为Google脚本编写。

=FILTER(B9:Z32,D9:D32>=(Bookings!$E12-14),F9:F32<=(Bookings!$BH12+14))

这是我当前的状态-

function FilterRng(){
var sheet= SpreadsheetApp.getActive().getSheetByName("Data");
var range= sheet.getRange(9,2,29,25);
var value= range.getValue();
var newRange= sheet.grtRange(9,35,29,25);
var condition1= Bookings!$E12-14;
var condition2= Bookings!$BH12+14;


if (D9:D32>=(Bookings!$E12-14)&(F9:F32<=(Bookings!$BH12+14)){
newRange.setValue(value);
}
}

如果有人可以提供帮助,那就太好了

1 个答案:

答案 0 :(得分:0)

????

我试图弄清楚你在做什么,但我无法理解全部。你有很多错。您是否尝试过文档中的任何示例?这对您来说可能是一个很好的起点。

我认为这接近于您想要的,但是我不确定您是否希望在满足条件后想做什么,因为您的所作所为对我没有意义。

function FilterRng(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName("Data");
  var cond1=ss.getSheetByName('Bookings').getRange('E12').getValue() - 14;
  var cond2=ss.getSheetByName('Bookings').getRange('BH12').getValue() + 14;
  var valA1=sh.getRange('D9:D32').getValues();
  var valA2=sh.getRange('F9:F32').getValues();
  for(var i=0;i<valA1.length;i++){
    if(valA1[i][0]>=cond1 && valA2[i][0]<=cond2){
      //you want to do something but I'm not sure what  
      //perhaps sh.getRange('Some Cell').setFormula('some cell formula')
    }
  }
}