Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как автоматически считать КОЛИЧЕСТВО ячеек в Гугл.Таблицах по условиям заливки (чтобы считал только синие заливки ячеек)?

Фото прикрепил.
Вам главное нужно понять, что я хочу объяснить. Всё не так просто. В общем, есть календарь нескольких лет в таблице, но только с 2 месяцами, и там не все дни. Мне нужно посчитать количество ячеек, чтобы знать, сколько всего дней получилось. Эти дни я буду отмечать заливкой другого цвета (как в 2020 желтым цветом). И мне каждый раз нужно видеть, сколько дней осталось.
НО, мне легче создать 3 ячейки: одна ячейка - вообще сколько всего ячеек (дней), вторая ячейка - ячейки закрашенные оранжевой заливкой, третья - первая минус вторая (осталось дней). Короче, как вторую ячейку сделать. Как считать, сколько ячеек с такой заливкой?
Вадим Ханнанов
  ·   · 3,3 K
Род деятельности - аналитик (экономика)...  · 21 мар 2022
Добрый день.
Для MS Excel.
В google-таблицах принципиальных изменений не должно быть.
Автоматически считать число ячеек можно макросом. Пользовательская функция =Total_Colors() пересчитывает число закрашенных ячеек (любого цвета) после окрашивания ячеек и её ввода в ячейке F3.
Option Explicit
Public Function Total_Colors() As Variant ' макрос для определения текущего диапазона для определения в нем числа цветных ячеек
' Application.ScreenUpdating = False
Dim total_rows, total_cols, i_count As Integer
Dim calendar_range As Range ' объявляем переменную диапазона календаря как range
Dim rCell As Range ' объявляем текущую переменную ячейки
With ActiveSheet
.Range(Selection, Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count)).Select 'выбираем диапазон с данными на листе
total_rows = .UsedRange.Rows.Count ' число строк в диапазоне
total_cols = .UsedRange.Columns.Count ' число столбцов в диапазоне
Set calendar_range = .Range(Cells(1, 1), Cells(total_rows, total_cols))
' определим число закрашенных ячеек
i_count = 0 ' счетчик числа закрашенных ячеек
For Each rCell In calendar_range.Cells ' для каждой ячейки диапазона
If Not rCell.Interior.ColorIndex = xlNone Then ' если ячейка окрашена
i_count = i_count + 1 ' увеличиваем счетчик закрашенных ячеек
Else 'иначе - пропускаем
End If
Next rCell
Total_Colors = i_count ' итого закрашенных ячеек
End With
' Application.ScreenUpdating = True
End Function
Подробнее в: