use*_*873 4 google-sheets google-apps-script
我有一张有几千行和两列的表格.我需要编写一个脚本,该脚本将增加为行,并将其中一列中的值与同一列中的前50个值进行比较,并查看它是否大于前50个条目的最大值.
我一直在尝试使用Math.max(),但无法找到正确的语法来使其在动态范围内工作.
当在电子表格中读/写时总是尝试立即进行,避免在单元格上循环
我确信有一个更好的javascript方法,但这段代码将获得列中的最大值
function getMaxInColumn(column) {
var column = 2; // just for testing
var sheet = SpreadsheetApp.getActiveSheet();
var colArray = sheet.getRange(2, column, sheet.getLastRow()).getValues();
var maxInColumn = colArray.sort(function(a,b){return b-a})[0][0];
return maxInColumn;
}
Run Code Online (Sandbox Code Playgroud)
问候,福斯托
var max = Math.max.apply(null, column.getValues());
Run Code Online (Sandbox Code Playgroud)
但是该列不能包含任何文本,只能包含数字和空值。否则,您需要从数组中排除文本。
您可以使用方法setFormula(formula)并使用类似的公式=MAX(Range)。
getDataRange()方法可能很有用。获取数据范围后,您可以确定getLastRow()和getLastColumn()的最大行数和列数。
| 归档时间: |
|
| 查看次数: |
11275 次 |
| 最近记录: |