Страницы: 1
RSS
Поиск последнего ненулевого/не пустого значения в строке с формулами
 
Уважаемые форумчане.

Потратил пару часов на поиск ответа в интернете - к сожалению, ничего подходящего не нашел, прошу помощи.

В примере часть таблицы, в которой я отслеживаю изменения статус транспорта (Г-готов, Р-ремонт) в течение месяца в диапазоне C5:AG16. В ячейки столбца В (В5:В16) хочу выводить актуальный статус по каждой единице транспорта - значение самой правой ячейки с текстом (Г/Р) в соответствующей строке.

Проблема в том, что в вышеуказанном диапазоне C5:AG16 в оригинальном файле находятся не пустые ячейки или значения, а формулы, благодаря которым и тянутся изменения статусов (буквы). В формуле, в случае отсутствия изменения статуса, могу вывести 0 или "".

Нашел формулы (ячейки В5, В6), которые работают как раз в случае пустых ячеек или значений, ну если во всей строке только формулы, то тянется значение из последней ячейки диапазона - 31.05.2024.

Прошу помочь с решением данной проблемы.

Заранее спасибо.
 
Код
=ИНДЕКС(A5:AG5;МАКС((C5:AG5<>0)*СТОЛБЕЦ(C5:AG5)))
Вводить как формулу массива Ctrl+Shift+Enter.
 
Цитата
написал:
находятся не пустые ячейки или значения, а формулы
Дополните формулы условием ЕСЛИ(...=0;значение слева). В правом столбце будет итоговый статус.
 
Попробуйте так.
Код
=ПРОСМОТР(2;ПОИСК(C5:AG5;"ГР");C5:AG5)
Алексей М.
 
АlехМ,
Цитата
написал:
=ПРОСМОТР(2;ПОИСК(C5:AG5;"ГР");C5:AG5)
к сожалению, в оригинальном файле с формулами так же тянется последнее крайнее значение, соответствующее 31.05.2024(
 
МатросНаЗебре,
Цитата
написал:
=ИНДЕКС(A5:AG5;МАКС((C5:AG5<>0)*СТОЛБЕЦ(C5:AG5)))
такая же проблема, к большому сожалению(( формула выдает значение в последней ячейке строки.
 
Цитата
написал:
Дополните формулы условием ЕСЛИ(...=0;значение слева). В правом столбце будет итоговый статус.
я в начале тоже пробовал сделать ссылку на ячейку слева, но тогда у меня не будет видно изменения статуса. Я сравниваю не все комбинации значений, а только:
1. На текущей день Р, за предыдущий Г, значит будет Р - машина встала на ремонт, а вчера была исправна;
2. На текущий день Г, за предыдущий Р, значит будет Г - машина исправна и вышла с ремонта.
3. Когда два и более дня подряд идут Г или Р, это учитываться не должно.

Поэтому там идет большая портянка без ссылок на ячейки, а сразу сравнение данных с других листов, которые я тяну ВПР
 
Арсений Петрищев, посмотреть бы на ваш файл, точнее пример, в котором появляется ошибка
Раз в файле-примере формула работает, значит она правильная.
Правильная формула не работает в основном файле, значит пример не правильный.
Изменено: АlехМ - 15.05.2024 22:08:02
Алексей М.
 
АlехМ, добрый день.

Во вложении, можно сказать, демо версия отчета, где оставил все необходимое для наглядной демонстрации механик.

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

В столбце В таблицы на листе "График, аналитика" я хочу видеть актуальный статус на текущую дату - по сути, значение самой крайней справа ячейки в строке с буквой Г/Р.

В ячейке В4 вставлена одна из формул, которая выдает значение последней ячейки строки I4, т.к., как я понял, в каждой ячейке строки есть формула. Если заменить формулу в ячейке I4 на любой символ, то формула в ячейке B4 сработает. При этом, если формулу на значение заменить, например, в ячейке I3, то в ячейке В4 так же будет указано значение из ячейки I4, т.к. в ней находится формула, которая тянет информацию с первого листа.

Грубо говоря, если мы берем столбец В, то я хочу, чтобы в ячейке В4 было "Г", ячейке В12 было "Г", ячейке В86 было "Р"...

P.S. на "н/д" не обращайте внимания, эти 6 машин 07.05.2024 убрал из отчета.
 
Код
=ИНДЕКС(A4:I4;МАКС((C4:I4<>"")*СТОЛБЕЦ(C4:I4)))
Вводить как формулу массива Ctrl+Shift+Enter.
 
МатросНаЗебре, супер!

Огромное спасибо, все работает.
 
Код
=ПРОСМОТР(2;1/(C4:I4<>"");C4:I4)

так работает

Изменено: АlехМ - 17.05.2024 19:57:58
Алексей М.
 
АlехМ, Благодарю за то, что уделили время.

Формула работает, огромное спасибо
Страницы: 1
Наверх