Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2017, 21:06   #1
varikvn
Пользователь
 
Регистрация: 27.01.2017
Сообщений: 21
По умолчанию Дата последнего вхождения ячейки с условиями

Здравствуйте.
Есть строка, ячейки D4:P4 с заполненными значениями. Некоторые из них имеют значение "+"

Нужно найти последнюю ячейку, которая заполнена знаком "+", и вернуть значение из того же столбца (на 1 ячейку выше в этом же столбце).

При этом после знака "+" в этой же строке могут быть и другие значения.

Для ясности понимания задачи прилагаю файл с примером, в нем же и правильный результат который нужно найти.

Заранее спасибо за идеи по реализации, важно что бы решение было без макросов.
Вложения
Тип файла: xls дата_последнего_плюса.xls (24.5 Кб, 9 просмотров)
varikvn вне форума Ответить с цитированием
Старый 15.04.2017, 21:49   #2
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Код:
=ПРОСМОТР(2;1/(D4:N4="+");D3:N3)
Вложения
Тип файла: xls дата_последнего_плюса_01.xls (28.0 Кб, 11 просмотров)
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 15.04.2017, 22:11   #3
varikvn
Пользователь
 
Регистрация: 27.01.2017
Сообщений: 21
По умолчанию

Спасибо, Алексей, все работает!
Только я не понял как работает 1/(D4:N4="+") - это просматриваемый вектор, но почему при значении = 2 формула срабатывает?
varikvn вне форума Ответить с цитированием
Старый 15.04.2017, 22:37   #4
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

В вашем примере вектор {#ДЕЛ/0!;#ДЕЛ/0!;1;1;#ДЕЛ/0!;1;1;#ДЕЛ/0!;#ДЕЛ/0!;#ДЕЛ/0!;#ДЕЛ/0!}
Фрагмент описания функции
Если ПРОСМОТР не может найти искомое_значение, то подходящим считается наибольшее значение в аргументе просматриваемый_вектор, которое меньше, чем искомое_значение.
Из этого следует, что искать надо значение больше единицы, например 2.
В некоторых случаях, когда искомое 1 формула работает. Но лучше использовать большее значение. так ошибки исключены.
PS. при создании формул обрабатывающих массивы, удобно видеть массив.
Как увидеть. Выделить фрагмент формулы 1/(D4:N4="+") и нажать F9
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 17.04.2017, 20:46   #5
varikvn
Пользователь
 
Регистрация: 27.01.2017
Сообщений: 21
По умолчанию

Понял, спасибо!
varikvn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение, поиск последнего вхождения AndreyK Perl 1 20.12.2016 15:23
Дата последнего редактирования таблицы Janger SQL, базы данных 8 16.07.2014 10:43
Атрибуты файла - дата последнего изменения iskurt Общие вопросы C/C++ 1 19.06.2010 13:21
Дата последнего изменения файла GrindeX Паскаль, Turbo Pascal, PascalABC.NET 2 26.05.2009 17:22
В FileListBox1 дата последнего редактирования файла lexaltd Компоненты Delphi 2 06.08.2008 20:57