394 подписчика

Сквозная нумерация в смете в Google Таблицах. Функция СЧЁТЗ(COUNTA)

1K прочитали

Рассмотрим такую несложную, но все же не самую тривиальную задачу: сделать сквозную нумерацию пунктов (операций) в смете.

Так, чтобы нумерация каждого раздела, каждой группы работ не начиналась с единицы, а продолжалась по всей смете. И при этом чтобы это происходило автоматически при любом количестве операций и разделов:

  Рассмотрим такую несложную, но все же не самую тривиальную задачу: сделать сквозную нумерацию пунктов (операций) в смете.

Ход мыслей следующий. Каждая операция характеризуется какими-то параметрами: единицей измерения, объемом работ, ценой или чем-то еще. А заголовки разделов не имеют никаких параметров. Этим и воспользуемся: наша задача в каждой строке, в которой нет параметров, ничего не указывать в столбец с номером, а в тех строках, где есть данные (то есть имеется операция, а не заголовок или пустота) — вводить порядковый номер. И этот номер — это количество операций от начала таблицы до текущей строки.

  Рассмотрим такую несложную, но все же не самую тривиальную задачу: сделать сквозную нумерацию пунктов (операций) в смете.-2

Количество непустых ячеек в диапазоне от первой строки сметы до текущей будем определять с помощью функции COUNTA/СЧЁТЗ. Она возвращает количество непустых ячеек в диапазоне. Главное — правильно указать диапазон, закрепив первую ячейку и не закрепляя последнюю. Таким образом, в каждой строке в формуле будет использоваться диапазон от начала сметы до текущей строки.

И не забудем про ячейки, в которых не нужно указывать номер — там, где нет данных в одном из столбцов (давайте работать со столбцом C, хотя подошел бы и любой из трех следующих).

Итого получается:

=ЕСЛИ(C3="";""; СЧЁТЗ(C$3:C3))

=IF(C3="";""; COUNTA(C$3:C3))

В десятой строке формула будет выглядеть так:

=ЕСЛИ(C10="";""; СЧЁТЗ(C$3:C10))

Такую формулу можно смело протягивать до конца таблицы и с запасом. Она будет выдавать либо корректный номер операции, либо ничего (пустую текстовую строку).

  Рассмотрим такую несложную, но все же не самую тривиальную задачу: сделать сквозную нумерацию пунктов (операций) в смете.-3

Давайте на десерт еще немного автоматизируем смету. Сделаем условное форматирование, чтобы строки с заголовками разделов заливались серым цветом автоматически. Такие строки характеризуются тем, что в них есть данные в столбце B, но нет в столбце C. Воспользуемся этим и создадим правило условного форматирования с такой формулой:

=И($B2<>"";$C2="")

=AND($B2<>"";$C2="")

То есть нужно выполнение двух условий: пустота в столбце C и наличие чего-то в столбце B, чтобы залить строку.

  Рассмотрим такую несложную, но все же не самую тривиальную задачу: сделать сквозную нумерацию пунктов (операций) в смете.-4

И вот так все будет выглядеть и форматироваться автоматически:

  Рассмотрим такую несложную, но все же не самую тривиальную задачу: сделать сквозную нумерацию пунктов (операций) в смете.-5

Ссылка на файл с примером.