Google sheet 函数转换为 Google 脚本函数

Google sheet function into Google script function

我正在使用 Google 表格功能来分析一些数据,但即使我没有庞大的数据库,sheet 也落后于我的功能。函数为:

=ARRAY_CONSTRAIN(ARRAYFORMULA(SUMIF(IF(A2:A10000="Received",ROW(A2:A10000),""), "<="&ROW(A2:A10000), B2:B10000)+G1-SUMIF(IF(A2:A10000="Given",ROW(A2:A10000),""), "<="&ROW(A2:A10000), B2:B10000)),COUNTA(B2:B10000),1)

是否可以通过 Google 脚本使用此功能以免 sheet 过载?

示例 sheet:https://docs.google.com/spreadsheets/d/1UeIXFVsP5hevC20D04juTstBbfViYhWUIp6VRst_Nu4

试试这个脚本。它在我的副本中正常工作。 目的是根据 A

列中的条件取以前的值并添加或减去新值
function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getActiveSheet();
  var previous = s.getRange('G1').getValue(); //ger vaule from last month
  var valuecount = s.getLastRow()  ; // defines number of rows
  
  for (let i = 1; i < valuecount; i++) { //starts loop

   var direction = s.getRange(i+1 , 1).getValue(); 
   if (direction == 'Received') {
   previous = previous + s.getRange(i+1 , 2).getValue() ;
   }
    else 
    {previous = previous - s.getRange(i+1 , 2).getValue()  }
  s.getRange(2,4,valuecount).getCell(i,1).setValue(previous);
  }
}