Страницы: 1
RSS
Поиск ПРЕДпоследнего, ненулевого, значения в строке.
 
Добрый день, форумчане.

Выручайте, уже не первый день, да и не первую неделю, периодически задаюсь вопросом.
Как найти в строке, предпоследнее ненулевое значение. Последнее ищется легко, а вот как его не брать в учет и найти предпоследнее, и соответственно вывести его в ячейку.

К примеру:
_ _ 20,50_ _ 1,09_ _ 30,05   -------- Получить значение 1,09
10,5_ 2,30 _ _ 10,50_ _ 5,00   ----- Получить значение 10,50

Может хоть кто-нибудь знает?
 
Файл в студию
 
1) Ищите второе вхождение символов "_ _" в текстовой строке.
2) А дальше несколько вариантов.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
ну например так =LOOKUP(2;1/((A1:D1<>"")*(A1:D1<>LOOKUP(2;1/(A1:D1<>"");A1:D1)));A1:D1)

Или строка это строка ? :-)
Изменено: БМВ - 24.04.2018 15:28:22
По вопросам из тем форума, личку не читаю.
 
Если это не текстовая строка, а все же строка из ячеек на листе MS Excel, то можно использовать формулу массива следующего вида
Код
=ИНДЕКС($A2:$I2;1;НАИМЕНЬШИЙ(ЕСЛИ($A2:$I2="";"";--СТОЛБЕЦ($A2:$I2));СЧЁТ($A2:$I2)-1))
для всех строк, содержащих более одного числа...
=========UPDATE=============
Представленная выше формула БМВ возвращает те же значения - кроме того, она не требует использования массивов!
Изменено: IKor - 24.04.2018 15:56:53
 
IKor, ну тогда уж наибольший и 2 :-) зачем СЧЁТ($A2:$I2)-1 ?
По вопросам из тем форума, личку не читаю.
 
Действительно - нужно избавляться от шаблонности мышления... :)
 
Ого, как быстро, не ожидал. Спасибо всем, помогли, все прекрасно работает.
Я уже думал, что данный вопрос невозможно решить, а тут наткнутся на ваш спасительный форум.  ;)  
 
А если второе  с конца - ноль?
=ИНДЕКС(A2:I2;НАИБОЛЬШИЙ(ЕСЛИ(A2:I2;СТОЛБЕЦ(A2:I2));2))
Страницы: 1
Читают тему
Наверх