Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: shu от 20.05.2017, 15:14

Название: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: shu от 20.05.2017, 15:14
Большая просьба Гуру exel помочь. (файл прикрепляю).
Задача сложная, следующего вида:

в столбце "Наименование" написано название арматуры для строительства, а первая цифра идёт её диаметр.
Например в ячейке В6 арматура/стержень диаметром 8 длиной l=17000.
а в следующих строчках перед длиной идёт уже пустота (она подразумевает что это тоже диаметр 8 просто он не повторяется).

Что необходимо: в столбце D мне нужно вычленить только значения диаметров напротив каждой строчки.

Как это сделать для строчек с полной записью я разобрался (ячейки D2,D4,D6 и т.д.), а как сделать для остальных?

Т.е. нужна какая то формула которая бы смотрела первое значение, например в ячейке В14, и если оно не число а запятая например, то смотрела бы на одну строчку выше, если опять нет числа первого ещё выше -  и так пока не встретит число (в данном случае в ячейке В6); как встретила первое число диаметр, то вывела бы его в ячейку D (D14 в данном случае). Т.е. в итоге с D7:D26 должны быть проставлены цифра 8, с D28:D32 цифра 5 и т.д.).

Надеюсь, что это возможно как то реализовать
Заранее спасибо!

Название: Re: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: vikttur от 20.05.2017, 16:12
=ЕСЛИ(ДЛСТР(B2)>10;ЛЕВБ(B2;ПОИСК(" ";B2)-1);D1)
Название: Re: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: zs5 от 21.05.2017, 11:05
=ЕСЛИОШИБКА(ЕСЛИ(ИЛИ(--ЛЕВБ(B3)>=0;--ЛЕВБ(B3)<=9);ЛЕВБ(B3;2));D2)
Название: Re: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: shu от 21.05.2017, 16:30
Большое спасибо за ответы!!!
Обе формулы работают, ссылаясь на предыдущую ячейку.

НО есть одна не стыковка в обеих:
при удалении одной из строчек, допустим в середине - возникают ошибки в последующих ячейках, т.е. как бы удаляется ячейка на которую ссылается следующая формула что-ли.. надо как то задать может, ссылку на предыдущую ячейку, в виде эта минус 1? :(

Во вложении картинка (удалил строчку между 7 и 8
Название: Re: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: vikttur от 21.05.2017, 16:54
Вы думаете, можно догадаться о том, что Вы еще делаете с листами?
=ЕСЛИ(ДЛСТР(B2)>10;ЛЕВБ(B2;ПОИСК(" ";B2)-1);ИНДЕКС(D:D;СТРОКА()-1))
Название: Re: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: shu от 21.05.2017, 17:16
Супер! огромное спасибо!
Название: Re: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: zs5 от 23.05.2017, 07:40
Цитата: shu от 21.05.2017, 16:30
при удалении одной из строчек, допустим в середине - возникают ошибки в последующих ячейках, т.е. как бы удаляется ячейка на которую ссылается следующая формула что-ли.. надо как то задать может, ссылку на предыдущую ячейку
Это у же другая тема: Поиск последней заполненной ячейки в столбце Exc
Название: Re: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: vikttur от 23.05.2017, 10:02
Последняя заполненная здесь ни при чем. Нужно было подправить диапазон в формуле.
Название: Re: Перебор ячеек до определённого значения и последующий вывод (не обычная задача)
Отправлено: zs5 от 23.05.2017, 10:33
Цитата: shu от 21.05.2017, 17:16
Супер!
Необходимо искать последнюю заполненную ячейку, иначе результатом удаление формулы в одной из строк, приводит к нулевым результатам в последующих строках