Мульти-впр

Автор Smol, 5 октября 2019, 21:53

0 Пользователи и 1 гость просматривают эту тему.

Smol

Доброго времени суток уважаемые форумчане.
Есть ли в calc подобие мульти впр, как показано на сайте "планета excel"
https://www.planetaexcel.ru/techniques/2/81/
Или макрос (функция)
https://www.planetaexcel.ru/techniques/2/100/
Улучшенный ВПР.?

Заранее благодарю за любой ответ.

bigor

LO поддерживает массивные функции, поэтому пример по первой ссылке должен работать и в Сalc
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

rami

Цитата: Smol от  5 октября 2019, 21:53Есть ли в calc подобие мульти впр, как показано на сайте "планета excel"
У меня оба примера работают. Если у вас что-то не получается на практике, приложите файл с вашими данными.

Smol

Хорошо, доберусь до компьютера, файл положу.

Smol

Файл вложил.

rami

Поправил, проверяйте:

Smol

Rami! Спасибо.
Я так понимаю формула работать не будет в calc 6.3, а макрос Вы доработали строчкой "Option VBASupport 1"...
Может кому пригодится данный макрос...
"Улучшенная функция ВПР (VLOOKUP)" :).

kompilainenn

Цитата: Smol от  6 октября 2019, 10:06Я так понимаю формула работать не будет в calc
почему?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Smol

Я собирал эту формулу как показано на видео и функция "СТРОКА" показывала в ячейках иногда - "ИСТИНА или ЛОЖЬ" или число и 0 соответственно,
т. е. неуверенно как-то работала. А далее функция "НАИМЕНЬШИЙ" соответственно не могла правильно обработать значения, выдавала ошибку.

bigor

Лень искать что у вас не так, написал заново в столбце LO 6.2.6
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

mikekaganski

#10
Цитата: Smol от  6 октября 2019, 10:06Я так понимаю формула работать не будет в calc 6.3
Похоже, регрессия. Как Bigor выяснил в ответе #9, замена относительной адресации на абсолютную работает; но в Excel и в Calc старых версий работает и без абсолютных адресов.

Надо писать баг.

tdf#127982
С уважением,
Михаил Каганский

bigor

#11
Формула в d3 тоже рабочая, просто в LO массивные функции нельзя протягивать мышкой, они "ломаются". Я жму Ctrl+C и затем  вставляю в нужный диапазон

зы хотя адресация при копировании съезжает, нужно абсолютную прописывать
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

rami

Цитата: mikekaganski от  6 октября 2019, 12:44Похоже, регрессия. Как Bigor выяснил в ответе #9, замена относительной адресации на абсолютную работает; но в Excel и в Calc старых версий работает и без абсолютных адресов.
Да, регрессия, но не с адресами, а с функцией SMALL() — она в массиве не обрабатывает пустую строку, выдаёт массив ошибок.
Можно обойти эту регрессию, если вместо пустой строки передать ей значение большее чем число значений диапазона, в этом случае она не будет портить "людям нервы".
=IFERROR(INDEX($B$2:$B$16;SMALL(IF($E$2=A2:A16;ROW(B2:B16)-1;COUNTA($A$2:$A$16;1));ROW()-5));"")
или
=IFERROR(INDEX($B$2:$B$16;SMALL(IF($E$2=A2:A16;ROW(B2:B16)-1;1000000);ROW()-5));"")

Smol

Уважаемые форумчане.
Интересный эффект в "МультиВПР" - при перемещении диапазона формул в другое место результат выдаёт ошибку.  И при копировании диапазона также происходит ошибка.
Данная закономерность проявляется во всех без исключения вариантах формул.

Smol

Цитата: mikekaganski от  6 октября 2019, 12:44Лень искать что у вас не так, написал заново в столбце LO 6.2.6

Вот такой эффект полычился при копировании массива формул  ???