gpt4 book ai didi

javascript - 如果满足不同列中的条件,则计算列中数字的平均值

转载 作者:行者123 更新时间:2023-12-03 08:46:42 25 4
gpt4 key购买 nike

我有一个数据范围,其中第一列是日期,第二列是数值。有些行的第二列值为空,我不希望它们被计算在内。

我试图找到第二列值的平均值,如果它们满足从今天开始 3 个月前的标准(空白值不应计算在内)。

但是我陷入了困境,因为我什至无法完全正确。我不知道如何进一步进行以获得平均值。

下面的代码似乎给了我附加的字符串,而不是对数字进行数学求和。

有人可以帮忙吗?

提前致谢。

 function average() {
// open spreadsheet
var spreadsheet = SpreadsheetApp.openById("spreadsheetID");
// set the named sheet as active
var sheet = SpreadsheetApp.setActiveSheet(spreadsheet.getSheetByName("SheetName"));

// figure out what the last row is
var lastRow = spreadsheet.getSheetByName("Form responses 1").getLastRow();
// the rows are indexed starting at 1, and the first row is the headers, so start with row 2
var startRow = 2;
// get the data range
var responsesValues = spreadsheet.getSheetByName("Form responses 1").getRange("A1:Q" + lastRow).getValues();

// define the dates
var timeToday = new Date().getTime();
var dateToday = new Date().getDate();
var date = new Date();
var threeMonthsAgo = new Date(date.getFullYear(), date.getMonth() - 3, 0);

// grab column 1 (date of entry column) (second variable in getRange function below)
var dataRange = sheet.getRange(2,1,lastRow-startRow+1,1 );
var numRows = dataRange.getNumRows();
var dateOfEntryValues = dataRange.getValues();

// grab column 2 (values to be averaged)
range = sheet.getRange(2, 2, lastRow-startRow+1, 1);
var Values = range.getValues();

var warning_count = 0;
var sumValues = 0;

// Loop over the values
for (var i = 0; i <= numRows - 1; i++) {
var dateOfEntry = dateOfEntryValues[i][0];
if(dateOfEntry > threeMonthsAgo && dateOfEntry !== "") {
// if it's within 3 months ago, add the values.
sumValues += Values[i][0];
warning_count++;
}
}

最佳答案

还有很多更简单的版本。只需将公式放入目标单元格

=ArrayFormula(AVERAGE(IF(DATEDIF(C1:C;TODAY();"D")<=90;E1:E)))

将 C1:C 替换为日期列,将 E1:E 替换为数字列。

关于javascript - 如果满足不同列中的条件,则计算列中数字的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32860476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com