Страницы: 1
RSS
Подстановка значения по нескольким критериям, один из критериев: проверка содержится ли определённый символ в ячейке с текстом.
 
Привет, всем

Реализация этой задачи выполнено, как говориться в два действия с дополнительными столбцами с промежуточными вычислениями (см во вложенном файле).
Задача в том чтобы выполнить - это же действие не создавая дополнительных столбцов с промежуточными вычислениями.

Как работает:
В столбец "договор" подставляется договор из столбца "Договор список" по критериям значения которых в столбце "локация" и "поставщик"
Если в столбце "локация" значение КМК и в столбце "поставщик" вставлен один из списка в столбце "Контрагент список" то в столбец "договор" должен подставиться договор с признаком (К)

Дело в том что один поставщик (Пример: Поставщик 7) может иметь несколько договоров с признаками
(К) соответствует локации "КМК"  (Пример: договор 15 (К))
(Х) соответствует локации "ХМК" (Пример: договор 16 (Х))
ничего - соответствует всем остальным локациям (Пример: договор 17)

Для выполнения этой задачи используются промежуточные столбцы.
Поставщик   + локацияКонтрагентХМККМК
Нужно перестроить таким образом, что бы отпала необходимость в промежуточных вычислениях.
 
Mutarix, пока что получилось объеденить в один столбец вместо 3
Изменено: a.i.mershik - 22.05.2018 16:53:36
Не бойтесь совершенства. Вам его не достичь.
 
a.i.mershik,
Спасибо это уже что-то.
Но если получиться и этот столбец убрать было бы замечательно.
Мне кажется здесь нужно использовать формулу работы с массивом данных.
 
Mutarix, массив будет думаю сильно лагать с большим объемом данных.
Не бойтесь совершенства. Вам его не достичь.
 
a.i.mershik, тогда спасибо и на этом.
 
Цитата
Mutarix написал:
Нужно перестроить таким образом, что бы отпала необходимость в промежуточных вычислениях
При "схлопывании" нескольких промежуточных столбцов в 1, скорость работы не меняется, а вот наглядность этапов вычисления - да. Где-то этапы выполнения вашего алгоритма всё-равно должны считаться - на листе, внутри кода в PowerQuery, PowerPivot или в обычной сводной, но считаться всё-равно должны, т.к. чудес не бывает.

Вернёмся к истокам — чем не устраивает вариант скрыть промежуточные столбцы?
Изменено: Jack Famous - 23.05.2018 15:37:09
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, Спасибо за комментарии.

Первый вариант не устраивает по причине увеличения размера файла.
Когда увеличивается кол-во строе больше 10000 размер файла из за формул растёт.
По этому, чем меньше столбцов с формулами тем меньше и быстрее файл.
 
Mutarix, а насколько это проблемно? Ну весит ваш файл, скажем пару метров - какая разница? Считает долго?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
При "схлопывании" нескольких промежуточных столбцов в 1, скорость работы не меняется, а вот наглядность этапов вычисления - да.
Hi Jack :-)  Если говорить о этом конкретном примере, который я не смотрел, то возможно и да, а если говорить о общем принципе, то порой даже вычисление одного значения в отдельной ячейке может сильно снизить нагрузку, так как пересчитается один раз, а если мы сперва формируем массив и N значений N раз для обработки дальнейшей, то понятно это замедляет работу, доп столбец убирает второе N.
По вопросам из тем форума, личку не читаю.
 
Доброго вечера, Михаил!  ;)
Я вот пытаюсь сейчас сделать файл со своим видением построения логики процесса, но меня сильно смущает какая-то цикличность связей в исходном файле. Гляньте))
Изменено: Jack Famous - 23.05.2018 16:52:27
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Сделал одной формулой (красный заголовок).
В новых зелёных промежуточных столбцах показал промежуточные этапы создания формулы.
Изменено: Wiss - 23.05.2018 16:15:37
Я не волшебник, я только учусь.
 
Как просили одна формула и массивная
=INDEX(F:F;MATCH(B2&"_"&SUBSTITUTE(LEFT(A2;1);"П";"д");$E$1:$E$541&"_"&LEFT(TRIM(RIGHT(SUBSTITUTE($F$1:$F$541;"(";REPT(" ";50));50)));0))

Цитата
Jack Famous написал:
Гляньте))
Глянул, оформулировал :-)
Изменено: БМВ - 23.05.2018 16:31:41
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
порой даже вычисление одного значения в отдельной ячейке может сильно снизить нагрузку
ну вот я как-то так и понял  :D  спасибо))

Mutarix, сделал, как понял. Спрашивайте.
3 листа с 1 "умной" таблицей на каждом, подсветка дубликатов, где их не должно быть через УФ, а также проверка данных.
+ 4 вычисляемых поля (столбцы с формулами) - нужно, по сути, только одно, а остальные для демонстрации.

И всё-равно мой файл весит меньше вашего.
Изменено: Jack Famous - 23.05.2018 16:53:54
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, БМВ, Wiss, a.i.mershik,

Друзья, спасибо за предложенные варианты, даже не ожидал такого интереса к моей задачи.
Для себя оставляю вариант от Wiss, которому отдельное спасибо.
Страницы: 1
Наверх