Формула для игнорирования скрытых столбцов - PullRequest
3 голосов
/ 03 августа 2020

Я безуспешно пытаюсь подсчитать видимые столбцы в электронной таблице. Я пытался использовать функцию SUBTOTAL, но она применяется только к скрытым / видимым строкам. Я также пробовал работать с функцией CELL("width"), но она не возвращает 0, когда ячейка скрыта

Есть ли другой вариант игнорирования скрытых столбцов в формуле подсчета?

1 Ответ

2 голосов
/ 03 августа 2020

Вы определенно можете создать свою собственную функцию с помощью скрипта Google Apps.

Например, следующая функция подсчитывает количество видимых столбцов на вашем активном листе:

function countVisibleColumns() {
  
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
var n_cols = sheet.getMaxColumns();
var hidden_cols = []
var cnt = 0;
  
for (var i=1; i<=n_cols ; i++) {
  if ( sheet.isColumnHiddenByUser(i) ){
  continue;}
  else {cnt +=1} }
Logger.log(cnt)
return cnt;
}

Вы просто необходимо нажать Инструменты => Редактор сценариев , а затем скопировать вышеупомянутый код в пустой сценарий. Затем вы можете напрямую использовать функцию как формулу в листе Google, например =countVisibleColumns(). См. Приложенный скриншот для получения дополнительной информации.

Реализация кода

...