Формула счетчика таблиц Google Таблиц

-6

Я рассматривал решения для этого, но все, что я нашел, похоже, намного более продвинуты, чем мне нужно. Все, что я ищу, это способ узнать, сколько ячеек в столбце А заполнено. Я не хочу использовать формулу внутри листа, я хочу иметь возможность рассчитать ответ "на лету" в моем скрипте.

Это возможно?

спросил(а) 2021-01-19T21:26:03+03:00 2 месяца, 3 недели назад
1
Решение
87

Если вы хотите что-то короткое, вы можете воспользоваться 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('@');
};

Изменить 2: Извините, вы действительно хотите знать, сколько заполнено, так что:


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('@');
};

Редактировать 3: фрагмент

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);

ответил(а) 2021-01-19T21:26:03+03:00 2 месяца, 3 недели назад
45

Ну, вы можете попробовать что-то вроде этого

var sheet = SpreadsheetApp.openById(SPREADSHEET_ID)
.getSheetByName(SHEET_NAME);
var range = sheet.getRange(startingCellRow, startingCellColumn, noOfRows, noOfColumns);
var datas = range.getValues();
var count = 0;
for (data in datas) {
for (cell in data) {
if (!(typeof cell === "undefined")) {
count++;
}
}
}
Logger.log(count)

Для кого-то нужна формула:

=COUNTIF(<start_cell>:<end_cell>; "<>")

Например: =COUNTIF(A1:A10; "<>")

Для полной справки и кредитов:

google docs подсчитывает ячейки, содержащие любой текст

считать пустые значения в массиве

ответил(а) 2021-01-19T21:26:03+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема