Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

23 Сентябрь 2021, 13:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: ВПР() вверх – нет такого?  (Прочитано 686 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eeigor
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 712



« Стартовое сообщение: 12 Август 2021, 17:14 »

Использую ВПР (VLOOKUP) для извлечения и условного форматирования (УФ) данных. Однако в данных стали появляться двойники, и мне надо извлекать последнее вхождение (на более позднюю дату). ВПР "слева" тоже приходится использовать, если извлекаемый столбец расположен слева от искомого.

Excel 2019 уже имеет функцию ПРОСМОТРX (XLOOKUP), которая работает и "влево", и "вверх" (в обратном порядке).

Файл немного подтормаживает, и быстродействие имеет значение. UDF не подойдёт.

Возможно, надо уйти от УФ и форматировать жёстко (зд. выделять цветом некоторые данные) по нажатии на кнопку с выполнением той же UDF.

Какой, на ваш взгляд, вариант "с обратным поиском" будет наилучшим? Предложите формулу или метод.

https://www.excelforum.com/excel-formulas-and-functions/1290926-lookup-value-in-column-from-bottom-to-top.html

https://www.reddit.com/r/excel/comments/34riqf/vlookup_from_the_bottom_of_the_column/
« Последнее редактирование: 12 Август 2021, 20:01 от eeigor » Записан

Ubuntu 18.04 LTS • LO 7.2.0.2 Community
economist
Форумчанин
***
Offline Offline

Сообщений: 1 545


« Ответ #1: 13 Август 2021, 13:16 »

=ИНДЕКС(ПОИСКПОЗ())
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
eeigor
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 712



« Ответ #2: 13 Август 2021, 16:33 »

Или что-то типа этого (по ссылке в стартовом сообщении):
=LOOKUP(2;1/(A:A=A2);B:B)

Не найдя 2 в столбце A (среди единичек и ошибок), остановится на последнем 1 (1/ИСТИНА), пропустив ошибки деления на 0. Здесь 1 – это совпадение с условием поиска, а ошибки – наоборот. И извлечёт данные из любого столбца (зд. B). ХитрО. Но пропуск ошибок неочевиден.

Проверяю быстродействие…

Вопрос:
Формулы УФ "летучие" или нет? Когда они обновляются? Лист обособленный.
« Последнее редактирование: 13 Август 2021, 16:59 от eeigor » Записан

Ubuntu 18.04 LTS • LO 7.2.0.2 Community
sokol92
Форумчанин
***
Online Online

Пол: Мужской
Сообщений: 561


WWW
« Ответ #3: 13 Август 2021, 16:57 »

У любителей построений циркулем и линейкой формулистов куча всяких трюков. Указанный выше достаточно широко применяется.
Записан

Владимир.
eeigor
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 712



« Ответ #4: 13 Август 2021, 17:03 »

Да, а условие в скобках можно составить любое, применяя операции с массивами: умножаем (И) и складываем (ИЛИ)…

UPD
Форум Excel сообщает:
Операция деление для сегодняшней архитектуры процессоров – быстрая операция. И сама функция ПРОСМОТР (LOOKUP) очень быстрая, так как осуществляет бинарный поиск и не заморачивается на подвернувшихся значениях с ошибкой.  
« Последнее редактирование: 13 Август 2021, 17:41 от eeigor » Записан

Ubuntu 18.04 LTS • LO 7.2.0.2 Community
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!