[Решено] Извлечение данных на основе 5 условий

Автор vk, 22 июля 2017, 03:43

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

vk

В примере есть формула нужно получить список уникальных (НЕ повторяющихся) значений по нескольким условиям у меня их 5. Уже несколько дней ищу как это сделать подскажите пожалуйста.
Решение:
Вариант 1 Особую благодарность я хочу выразить - JohnSUN за помощь и готовое решение.
Вариант 2 Формула массива

JohnSUN

Добро пожаловать на форум!
Ты имел в виду что-то вроде этого?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

vk

Благодарю за помощь это то что я хотел получить в результате, тут используется связка из двух формул. Вот как нам получить тот же результат только используя 1 формулу?

JohnSUN

Так, может, вообще без формул обойтись?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

vk

В этом варианте при добавлении нового значения или изменении условий у меня результат не обновляется, а формула автоматически выдавала результат при добавлении нового значения а также при изменении условий. Может есть способ объединить те 2 формулы в одну ячейку с результатом?

vk

Получилось доделать формулу добавил в неё все 5 условий. Но она медленно работает стоит мне добавить новое значение на выполнение уходит 1-2 секунды. Это всего лишь 100 строк а если будет 5000 то время наверное увеличится раз в 10. Я LibreOffice Calc только начал изучать наверное эта формула не самая подходящая. Как её можно усовершенствовать?

{=ЕСЛИОШИБКА(ИНДЕКС($A$3:$A$100;НАИМЕНЬШИЙ(ЕСЛИ((СЧЁТЕСЛИ($H$1:$H3;$A$3:$A$100)=0)*ЕСЛИ($A$3:$A$100<>"")*($C$3:$C$100="#")*($D$3:$D$100=0)*($E$3:$E$100=0)*($F$3:$F$100=0);СТРОКА($A$1:$A$100));1));"")}

JohnSUN

Цитата: vk от 23 июля 2017, 00:21
...она медленно работает...
Ну, ей же приходится много раз вычислить значение довольно большого массива - для каждой вычисляемой ячейки перелопатить 98 строк данных...
Цитата: vk от 23 июля 2017, 00:21стоит мне добавить новое значение на выполнение уходит 1-2 секунды
Ну, это еще не очень долго.  ;)
А так ли уж нужно перевыводить список уникальных при каждом изменении в таблице?
Цитата: vk от 23 июля 2017, 00:21
Это всего лишь 100 строк а если будет 5000 то время наверное увеличится раз в 10.
... а, может быть, даже больше (5000/100=50)
Цитата: vk от 23 июля 2017, 00:21
Как её можно усовершенствовать?
Разделить на две?  ;D В этом случае Calc'у нужно будет считать-пересчитывать гораздо меньше. Если смущает наличие вспомогательной колонки, так ведь её можно в любой момент скрыть.
Цитата: vk от 22 июля 2017, 20:04
...при добавлении нового значения или изменении условий у меня результат не обновляется...
Ну, обновление сводной таблицы при изменении исходных данных уже не раз обсуждалось
Цитата: vk от 22 июля 2017, 20:04
Может есть способ объединить те 2 формулы в одну ячейку с результатом?
Ты уже убедился, что такой способ есть?  :beer:
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

vk

Ваша формула с дополнительной колонкой работает идеально буду ей пользоваться а дополнительную колонку скрою.  :beer:
Но теперь возникла необходимость учитывать повторяющиеся значения например если есть в значении 5 5 5 то их нужно вернуть в результат как это сделать?

JohnSUN

#8
Убрать из проверки пригодности СЧЁТЕСЛИ()?

PS. Кстати о СЧЁТЕСЛИ() - ты правильно изменил эту проверку, когда "паковал" две формулы в одну: в моём варианте ошибка - если первое из дублирующихся значений первое не прошло проверку по остальным условиям, то и подходящее значение в список результатов не попало бы.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне