Google apps script 所有时间高位脚本-当列A中的整数较大时覆盖列B

Google apps script 所有时间高位脚本-当列A中的整数较大时覆盖列B,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我试图创建一个显示两列的列表;第一列为银行账户列表的实时余额(使用表中的其他信息计算),第二列为同一行相应账户的历史最高值 因此,如果活动余额(在A列中)大于以前的所有时间高余额(在B列中),则A列将覆盖B列。如果A列小于B列,B列将继续显示所有时间高余额 如果当前余额为0,并且从未有过正余额-这表明它是一个新帐户,没有以前的历史最高值-列B中显示的历史最高值也将显示为0 但重要的是,在触发脚本后,A列中显示的值可以保持为实时计算,并且脚本不会覆盖A列中数字后面的SUM函数 我对脚本还不熟悉,已

我试图创建一个显示两列的列表;第一列为银行账户列表的实时余额(使用表中的其他信息计算),第二列为同一行相应账户的历史最高值

因此,如果活动余额(在A列中)大于以前的所有时间高余额(在B列中),则A列将覆盖B列。如果A列小于B列,B列将继续显示所有时间高余额

如果当前余额为0,并且从未有过正余额-这表明它是一个新帐户,没有以前的历史最高值-列B中显示的历史最高值也将显示为0

但重要的是,在触发脚本后,A列中显示的值可以保持为实时计算,并且脚本不会覆盖A列中数字后面的SUM函数


我对脚本还不熟悉,已经为此奋斗了一段时间。如果有人能提供任何帮助,我将不胜感激。

您必须使用这些方法并从中获得帮助

第一种方法获取单元格中显示的值,如果该值来自公式或是手动输入的值,则独立获取。这将返回一个2D数组,因此使用2个for循环遍历该数组将比较两列中的所有值。然后,使用一条语句比较您需要的每个条件中的值

知道了这一点,我可以给你一些伪代码提示:

function compareColumns(){
   var sprsheet = SpreadsheetApp.getActiveSpreadsheet();
   var columnsAB = sprsheet.getRange('A1:B10').getDisplayValues(); 

  for (var i = 0; i < columnsAB.length; i++){


   for (var j = 0; j < columnsAB[i].length; j++){

      //here you can use the Switch to compare the values of columnsAB[i][0] with columnsAB[i][1]

      //if condition meets:
      sprsheet.getRange('B'+i).setValue(columnsAB[i][0]);

   }
 }


函数compareColumns(){
var sprsheet=SpreadsheetApp.getActiveSpreadsheet();
var columnsAB=sprsheet.getRange('A1:B10').getDisplayValues();
对于(变量i=0;i
感谢您的回复。我已将此应用于一个测试文件:但是我在脚本上遇到了一个错误。我已将错误写在工作表上的一个注释中。您能帮忙吗?我的代码只是一个方向,因为我们不提供代码来复制粘贴它们。我建议您查看我提供的链接,并使用切换到比较第二个for循环中的值。