在WPS中使用JS宏进行分类汇总,可以使用以下函数:
javascript
function classifySummary(data, groupByColumn, summaryColumns) {
  // 获取数据表格
  var sheet = Api.GetActiveSheet();
 
  // 获取分类列和汇总列的索引
  var groupByIndex = sheet.GetUsedRange().GetColumnIndex(groupByColumn);
  var summaryIndices = [];
  for (var i = 0; i < summaryColumns.length; i++) {
    var summaryColumn = summaryColumns[i];
    var summaryIndex = sheet.GetUsedRange().GetColumnIndex(summaryColumn);
    summaryIndices.push(summaryIndex);
  }
 
  // 获取数据范围
  var range = sheet.GetUsedRange();
  var numRows = range.GetRowCount();
  var numColumns = range.GetColumnCount();
 
  // 初始化分类汇总数组
column函数的使用  var classifiedSummary = [];
 
  // 遍历数据范围,进行分类汇总
  for (var i = 1; i <= numRows; i++) {
    var rowData = range.GetRowData(i);
    var groupValue = rowData[groupByIndex];
    var classifiedRow = classifiedSummary[groupValue] || [];
    for (var j = 0; j < summaryIndices.length; j++) {
      var summaryValue = rowData[summaryIndices[j]];
      classifiedRow[j] = (classifiedRow[j] || 0) + summaryValue;
    }
    classifiedSummary[groupValue] = classifiedRow;
  }
 
  // 返回分类汇总结果
  return classifiedSummary;
}
使用该函数时,需要传入三个参数:
data:数据表格的引用,可以使用Api.GetActiveSheet()获取当前活动工作表的引用。
groupByColumn:分类列的名称或索引,例如"姓名"或1。
summaryColumns:需要汇总的列的名称或索引数组,例如["年龄", "性别"]或[1, 2]。
函数将返回一个分类汇总结果的数组,每个元素表示一个分类的汇总结果。每个元素是一个数组,与summaryColumns参数中的列数相同,表示对应列的汇总值。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。