使用Google Spreadsheet计算多行和多列上的重复单元格

时间:2014-02-07 19:27:11

标签: google-apps-script google-sheets google-spreadsheet-api

因此,使用Google Apps脚本,我有一个电子表格如下:

A       B       C...
apple   banana  orange...
banana  orange  grape...
banana  apple   orange...
...     ...     ...

......我想这样做:

apple   2
banana  3
grape   1
orange  3

最简单的方法是什么?

我尝试在Google Apps电子表格中使用查询功能,但由于有多列,因此很难对其进行排序和计数。我也尝试使用join和countif函数,但由于列数太多,它往往会变得多余。

需要帮助!

1 个答案:

答案 0 :(得分:0)

这应该做的工作:

function myFunction() {
  var objList={};
  var ss = SpreadsheetApp.getActive().getActiveSheet();
  var data = ss.getDataRange().getValues();
  for(var i in data){
    for(var j in data[i]){
      if(typeof objList[data[i][j]]=="undefined"){
        objList[data[i][j]]=1;
      }
      else{
        objList[data[i][j]]+=1;
      }
    }
  }
  var objTable=[];
  for(var k in objList){
   objTable.push([k,objList[k]]);
  }
  Logger.log(objTable);
  ss.clear();
  ss.getRange(1, 1, objTable.length, objTable[0].length).setValues(objTable);
}