Страницы: 1
RSS
Получение текстового значения из таблицы по нескольким критериям.
 
Необходимо заполнить таблицу данными (текстовыми значениями) из другой таблицы. Данные отбираются по нескольким критериям. В настоящий момент реализовано формулой массива, но очень тормозит.

Есть ли возможность реализовать данный функционал без формул массива?
 
Цитата
Влад Нечипоренко написал:
без формул массива?
да, макрос например
но как минимум что бы не тормозило избавтесь от выбора формулой всего столбца типа $E:$E...лучше указать определенный но с запасом
для В3 (но я думаю лучше все же макросом)
Код
=ИНДЕКС('БД ТММ'!$E$3:$E$226;АГРЕГАТ(15;6;СТРОКА('БД ТММ'!$E$1:$E$226)/('БД ТММ'!$A$3:$A$226=B$1)/('БД ТММ'!$D$3:$D$226=$A3)/('БД ТММ'!$F$3:$F$226="Активность 4");1);1)
Изменено: Mershik - 29.10.2020 17:56:05
Не бойтесь совершенства. Вам его не достичь.
 
Скажите, а почему, как пример, Клиент 109 в марте 2020 в исходном файле есть и как персики 3000 и как яблоки 3000 а у вас в сводной груши 6000. Это какая логика?
Как вариант сделал в PQ, но данную логику система не понимает и считает за ошибку)
Изменено: DemonAMT - 29.10.2020 18:21:19
 
Цитата
DemonAMT написал:
Скажите, а почему, как пример, Клиент 109 в марте 2020 в исходном файле есть и как персики 3000 и как яблоки 3000 а у вас в сводной груши 6000. Это какая логика?
У Клиента 109 в Марте есть Персики и Яблоки, а в таблице стоят Персики т.к. это первое значение. Если с суммой все просто - она просуммировалась и готово, то с текстом так не получается (ну собственно и не нужно) допустимая потеря.
А логика в этом простая: в одной сети, в один месяц проводятся промо-мерприятия по двум товарам (первые 2 недели один товар, вторые 2 недели второй товар).

Цитата
DemonAMT написал:
Как вариант сделал в PQ, но данную логику система не понимает и считает за ошибку)
Увы PQ мне недоступен т.к. работаю на MacOs (извиняюсь не уточнил сразу)
 
Цитата
Влад Нечипоренко написал:
Увы PQ мне недоступен т.к. работаю на MacOs (извиняюсь не уточнил сразу)

Ну тогда как вариант могу предложить сделать с помощью сводной. Все таки в таком случае формулы работают быстрее. Нумеруем овощи и добавляем столбец. Потом делаем обратное действие. Иногда такое решение меня выручало. ;)  
Изменено: DemonAMT - 29.10.2020 19:00:56
 
Макросом на словаре легко.
Но на МАКе нет словарей...
Хотя есть вариант класс как словарь заменить коллекцией.
 
Вообще если нужно ехать, а не шашечки - ну сделайте в базе один допстолбец и тяните персики обычное немассвиной ВПРкой!
PS. Эти персики и немассивно тянутся той же формулой, может это чуть ускорит.
А если писать массивно - то можно массивный ПОИСКПОЗ устроить, не уверен правда что будет быстрее.
Изменено: Hugo - 29.10.2020 19:21:21
 
Цитата
Mershik написал:
Код ? 1=ИНДЕКС('БД ТММ'!$E$3:$E$226;АГРЕГАТ(15;6;СТРОКА('БД ТММ'!$E$1:$E$226)/('БД ТММ'!$A$3:$A$226=B$1)/('БД ТММ'!$D$3:$D$226=$A3)/('БД ТММ'!$F$3:$F$226="Активность 4");1);1)
Работает, пока без напрягов для системы. буду тестить на реальном файле (на бОльшем объеме) Спасибо.  
 
Так там ещё и УФ в немеряном количестве...
Мой вариант для B4 - МАССИВНАЯ!:
Код
=ИНДЕКС('БД ТММ'!$E$3:$E$89;ПОИСКПОЗ(A4&"|"&B$1&"|"&"Активность 4";'БД ТММ'!$D$3:$D$89&"|"&'БД ТММ'!$A$3:$A$89&"|"&'БД ТММ'!$F$3:$F$89;0);1)
Изменено: Hugo - 29.10.2020 19:38:06
 
Цитата
Hugo написал:
Код ? 1=ИНДЕКС('БД ТММ'!$E$3:$E$89;ПОИСКПОЗ(A4&"|"&B$1&"|"&"Активность 4";'БД ТММ'!$D$3:$D$89&"|"&'БД ТММ'!$A$3:$A$89&"|"&'БД ТММ'!$F$3:$F$89;0);1)
Работает, комп спокоен. Спасибо.
 
Цитата
Hugo написал:
Вообще если нужно ехать, а не шашечки - ну сделайте в базе один допстолбец и тяните персики обычное немассвиной ВПРкой!
Было такое решение, но как крайний вариант. Несколько человек работают с файлом и не хотелось иметь костыли (кто-то поломает)

Цитата
DemonAMT написал:
Ну тогда как вариант могу предложить сделать с помощью сводной.
Нет возможности изменить форму планирования на сводную таблицу. Форма утверждена с выше ))
 
Друзья! Спасибо Вам огромнейшее! Очень помогли и оперативно.
 
Цитата
Влад Нечипоренко написал:
Нет возможности изменить форму планирования на сводную таблицу. Форма утверждена с выше ))
А я и не предлагал использовать сводную для отчёта. Посмотрите внимательно в моем примере сводная выводит нужный результат, а потом данные с помощью впр заносятся в таблицу. Копия таблицы в начале, с формулами впр и подтяжкой данных из сводной. Впр в любом случае работает быстрее чем формула массива. Удачи.
Страницы: 1
Наверх