Раскладываем список по полочкам

Редактор таблиц
Функции редактора таблиц

Если вы занимаетесь организацией любого процесса, закупками и т.п. вам наверное приходилось сталкивать с многоуровневыми списками в формате таблиц. В текстовом документе они наглядны, в ячейках всё сливается. Бывает полезно визуализировать иерархическую структуру и сразу понять масштабы происходящего. Для этого можно использовать комбинацию из нескольких из трёх функций: ДЛСТР, ПОДСТАВИТЬ и ЕСЛИ.

Исходная задача

Допустим, у нас есть список из трех уровней:

Раскладываем список по полочкам

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

Раскладываем список по полочкам

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

Решение задачи

В данном посте предложен один из вариантов скорее для демонстрации логики работы. Знатоки таблиц наверняка предложат что-то своё.

Сначала нужно определить, к какому уровню относится строка. Будет это делать по ее номеру, а точнее по количеству символов без точек. Для этого точки мы удалим. Нам потребуется формула вида =ДЛСТР(ПОДСТАВИТЬ(A2;”.”;””)). Результат ее работы показана на снимке экрана ниже.

Раскладываем список по полочкам

Теперь определим столбцы D, E, F под уровни 1, 2, 3 и вставим соответствующие цифры в первую строку. Распределим данные из столбца В по D, E, F, используя значения из С. Для этого во всех ячейках D, E, F используется формула вида =ЕСЛИ($C2=D1;$B2;” “), меняются только адреса ячеек.

Раскладываем список по полочкам

В итоге получаем вот такой результат:

Раскладываем список по полочкам

Если таблицей пользуется лишь тот, кто ее создал, возможно это лишняя работы. Но если это часть проектной документации и требуется, чтобы каждый член команды мог разобраться с первого взгляда, подобный формат точно пригодится.

Приведенный пример будет неполным, если под конец мы не сделаем операцию, которая диктуется логикой работы таблиц – нужно слить всё в одну формулу. Мы использовали промежуточный результат из столбца С, но можно всё сделать одним шагом. Для этого первую формулу можно вставить внутрь второй на место $C2. Получится =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(A2;”.”;””))=D1;$B2;” “). Вуаля!

Раскладываем список по полочкам

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

Если вы хотите получить больше информации, то можете воспользоваться рубрикатором и поиском, которые расположены справа от этого текста, посмотреть популярные и похожие статьи. Помимо этого, у нас на сайте есть база знаний в карточках, а еще много увлекательного контента в VK и в Telegram. Там же есть возможность написать нам, поделиться своим опытом и задать вопросы. А еще вы можете задавать свои вопросы нашему боту Лёлику и сразу получать ответы. Попробуйте сами!

Оцените статью
Блог Р7-Офис
Добавить комментарий