Сквозная нумерация в смете в Google Таблицах. Функция СЧЁТЗ(COUNTA)
Рассмотрим такую несложную, но все же не самую тривиальную задачу: сделать сквозную нумерацию пунктов (операций) в смете.
Так, чтобы нумерация каждого раздела, каждой группы работ не начиналась с единицы, а продолжалась по всей смете. И при этом чтобы это происходило автоматически при любом количестве операций и разделов:
Ход мыслей следующий. Каждая операция характеризуется какими-то параметрами: единицей измерения, объемом работ, ценой или чем-то еще. А заголовки разделов не имеют никаких параметров. Этим и воспользуемся: наша задача в каждой строке, в которой нет параметров, ничего не указывать в столбец с номером, а в тех строках, где есть данные (то есть имеется операция, а не заголовок или пустота) - вводить порядковый номер. И этот номер - это количество операций от начала таблицы до текущей строки.
Количество непустых ячеек в диапазоне от первой строки сметы до текущей будем определять с помощью функции COUNTA/СЧЁТЗ. Она возвращает количество непустых ячеек в диапазоне. Главное - правильно указать диапазон, закрепив первую ячейку и не закрепляя последнюю. Таким образом, в каждой строке в формуле будет использоваться диапазон от начала сметы до текущей строки.
И не забудем про ячейки, в которых не нужно указывать номер - там, где нет данных в одном из столбцов (давайте работать со столбцом C, хотя подошел бы и любой из трех следующих).
Итого получается:
=ЕСЛИ(C3= ""; ""; СЧЁТЗ(C$3:C3))
=IF(C3= ""; ""; COUNTA(C$3:C3))
В десятой строке формула будет выглядеть так:
=ЕСЛИ(C10= ""; ""; СЧЁТЗ(C$3:C10))
Такую формулу можно смело протягивать до конца таблицы и с запасом. Она будет выдавать либо корректный номер операции, либо ничего (пустую текстовую строку).
Давайте на десерт еще немного автоматизируем смету. Сделаем условное форматирование, чтобы строки с заголовками разделов заливались серым цветом автоматически. Такие строки характеризуются тем, что в них есть данные в столбце B, но нет в столбце C. Воспользуемся этим и создадим правило условного форматирования с такой формулой:
=И($B2<> "";$C2= "")
=AND($B2<> "";$C2= "")
То есть нужно выполнение двух условий: пустота в столбце C и наличие чего-то в столбце B, чтобы залить строку.
И вот так все будет выглядеть и форматироваться автоматически:
как сделать cквозную нумерацию через несколько вкладок???
Роман, на первой вкладке можно сделать формулу как в статье, а во второй - такую же, к которой вы прибавите COUNTA по всей первой вкладке. Ну и так далее. С ходу приходит в голову такое решение.
Еще один вариант - использовать формулы массива, объединить столбцы в один вертикальный массив.
Бомба! Как просто. А я привык к ROW() и ни влево, ни вправо. А тут такое простое и изящное решение.