How to count the number of cells which contain specific text using Google Sheet Scripts?

后端 未结 3 413
终归单人心
终归单人心 2021-01-26 10:37

How to count the number of cells which contain specific text using Google sheet scripts?

Currently I\'am using the following script to count the number of cells which co

相关标签:
3条回答
  • 2021-01-26 11:03

    Use TextFinder class.

    Sample script:

    /**
     * @customfunction
     * @return count of given text in spreadsheet
     * @param {string} text text to search
     * @param {boolean} mec whether to match entire cell
     * @param {boolean} mc whether to match case
     */
    function COUNT_SS(text = 'NOT COMPLETE', mec = true, mc = true) {
      return SpreadsheetApp.getActive()
        .createTextFinder(text)
        .matchEntireCell(mec)
        .matchCase(mc)
        .findAll()
        .length;
    }
    

    Usage:

    =COUNT_SS()
    
    0 讨论(0)
  • 2021-01-26 11:12
    =COUNTIF(Sheet1!C1:C1000;"=NOT COMPLETE")
    
    0 讨论(0)
  • 2021-01-26 11:22

    How about this:

    function COUNT_TEXT_ACROSS_SHEETS(sheetNames, range, text) {//text=['Complete','Not Complete']
      var nA=sheetNames.split(',');
      var tA=text.split(',');
      var count = 0;
      var cObj={};
      cObj[tA[0]]=0;
      cObj[tA[1]]=0;
      nA.forEach(function(name) {
        var sh=SpreadsheetApp.getActive().getSheetByName(name);
        var vA = sheet.getRange(range).getValues();
        vA.forEach(function(r) {
          r.forEach(function(c) {
            var idx0=c.indexOf(tA[0]);
            var idx1=c.indexOf(tA[1]);
            if(idx0!=-1 && idx1==-1)cObj[tA[0]]+=1;
            if(idx0!=-1 && idx1!=-1)cObj[tA[1]]+=1  
          });
        });
      });
      return Utilities.formatString('Count-%s:%s Count-%s:%s',tA[0],cObj[tA[0]],tA[1],cObj[tA[1]]);
    };
    
    0 讨论(0)
提交回复
热议问题