Google表格脚本计数公式 [英] Google Sheets Script Count formula

查看:102
本文介绍了Google表格脚本计数公式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经研究过这方面的解决方案,但我发现的所有方案似乎都比我需要的方式更先进。我正在寻找的所有方法都是知道A列中有多少个单元格被填充的方法。我不想在表格中使用公式,我希望能够在脚本中即时计算出答案。



是那个可能吗?

解决方案

如果您想要简短一些,可以利用 Array.filter() code>:

  var sheet = SpreadsheetApp.getActiveSheet(); 
var data = sheet.getRange('A:A')。getValues()。flatten();
//过滤数据以返回一个空值数组并计数
var count = data.filter(function(e){return e [0] ==;})。length;

Array.prototype.flatten = function(){
return this.join('@')。split('@');
};






编辑2:
抱歉,您实际上想知道有多少人被填充,所以:

  var sheet = SpreadsheetApp.getActiveSheet() ; 
var data = sheet.getRange('A:A')。getValues()。flatten();
//过滤数据以返回'truthy'值的数组并计数它们
var count = data.filter(Boolean).length;

Array.prototype.flatten = function(){
return this.join('@')。split('@');
};

编辑3:片段



(<@ c $ c> Array.prototype.flatten = function(){return this.join('@')。split('@' );}; //模拟从getValues()返回的列数组var colSampleArray = [[1],[],[],[],[],[2],[],[],[ ,[3],[],[4],[],[5],[]]; //将二维数组转换为平面数组arrayvar data = colSampleArray.flatten(); //过滤数据返回一个truthy 'values and counts themvar count = data.filter(Boolean).length; window.alert(count);


I have looked at solutions for this but all the ones I have found seem to be way more advanced than I need. All I am looking for is a way to know how many cells in column A are populated. I don't want to use a formula within the sheet, I want to be able to calculate the answer 'on-the-fly' in my script.

Is that possible?

解决方案

If you want something short you can take advantage of Array.filter():

var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getRange('A:A').getValues().flatten();
// Filters data to return an array of empty values and counts them
var count = data.filter(function(e) { return e[0] == ""; }).length;

Array.prototype.flatten = function() {
  return this.join('@').split('@');
};


Edit 2 : Sorry, you actually want to know how many are populated, so :

var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getRange('A:A').getValues().flatten();
// Filters data to return an array of 'truthy' values and counts them
var count = data.filter(Boolean).length;

Array.prototype.flatten = function() {
  return this.join('@').split('@');
};

Edit 3 : Snippet

Array.prototype.flatten = function() {
  return this.join('@').split('@');
};

// Simulates column array returned from getValues()
var colSampleArray = [[1],[],[],[""],[],[2],[],[],[""],[3],[],[4],[],[5],[]];
// Converts 2D Array into Plain Array
var data = colSampleArray.flatten();
// Filters data to return an array of 'truthy' values and counts them
var count = data.filter(Boolean).length;
window.alert(count);

这篇关于Google表格脚本计数公式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆