Страницы: 1
RSS
Для каждого наименования из двух столбцов найти максимальный номер строки, где оно встречается, и значение третьего столбца этой строки, упростить индексацию в файле
 
Добрый день.
Помогите упростить решение.
При размере 50000 строк подгружает процессор.
Нужно подобрать значение  из массива из последней строки если в 1 или 2 стобце выполняется условие.
В идеале это одна колонка.
Мне кажется здешние умы лучше справятся с задачей чем у меня получилось
 
kolyaya, вариант добавить столбец и заменить массмвную на обычную формулу
Не бойтесь совершенства. Вам его не достичь.
 
У сейчас меня лицо было как у вас на аватарке :)
 
kolyaya, такой вариант но думаю он будет тормозить на 50 к значений...думаю что идеальным для вас был думаю PQ или макрос.

если цена одинаковая - то будет отражаться только 1 значение.

во втором варианте через PQ  так как я далек от него, может не красиво но результат есть... он быстрее думаю. проверил на 8к строк секунд 10 получилось. при добавлении значений в таблицу достаточно обновить таблицу и все
Изменено: Mershik - 20.09.2019 15:43:46
Не бойтесь совершенства. Вам его не достичь.
 
Может неправильно описал задачу.
По факту есть таблица
ЯблокоАпельсин1
ПерсикБанан15
МорковкаБлаБла30
БананКиви55
АпельсинМорковка22
КивиПерсик11
БлаБлаЯблоко7
ПерсикАпельсин8
МорковкаБанан9
БананБлаБла10
АпельсинКиви11
КивиМорковка12
БлаБлаПерсик13
Нужно выбрать по условию Например: если в столбце А или В Есть "персик" (D1), то E1= C* (Последнее упоминание Персика)
Просто я к такому выбору пришел через 4 стлобца.
 
Несколько раз прочитал, но не могу понять задачу.
Цитата
kolyaya написал:
если в столбце А или В Есть "персик" (D1), то E1= C*
D1 - это что и где?
Цитата
kolyaya написал:
если в 1 или 2 стобце выполняется условие
Какое условие?
 
Поддеживаю  Юрий М, посмотрел пример и описание так и не понял что надо
Лень двигатель прогресса, доказано!!!
 
Сергей, Юрий М, C*  звездочка - переменная (Последнее упоминание Персика)
Персик последний раз упоминается в последней строке значит вытягиваем 13
Киви 12
Морковка 12
И тд
 
kolyaya, Вы лучше бы показали рядом с исходными данными желаемый результат. Без формул - вручную введите данные.
И опять Вы молчите про условие - что это за условие?
 
Доброе время суток
Цитата
kolyaya написал:
"персик" (D1), то E1= C* (Последнее упоминание Персика)
Где персик в D1? Что же вы все такие стеснительные и скрытные, а расшифровать что это такое - последнее упоминание в данных. Как понял. Теперь вы мучайтесь что там да как :)
 
Написал что должно быть.
Андрей VG, Не понял как это у вас получилось :)
Юрий М, Нужно выбрать по условию Например: если в столбце А или В Есть "персик" (D1), то E1= C* (Последнее упоминание Персика)
Пример и есть условие. Ну не знаю я как сформулировать правильнее :(
Вы уж простите меня. ;)
Андрей VG, У вас в принципе все правильно получилось, а как это формулой сделать?
Изменено: kolyaya - 20.09.2019 21:07:49
 
Цитата
kolyaya написал:
если в столбце А или В Есть "персик" (D1)
Что такое D1?
 
1. Предложить название темы, отражающее ЗАДАЧУ, которую должна решать формула. Модераторы заменят.
2. Описать задачу так, чтобы поняли другие.
 
Цитата
Юрий М написал:
Что такое D1?
В ячейке D1 - Персик
В ячейке E1 - Значение из 3 столбца исходной таблицы
 
Цитата
kolyaya написал:
В ячейке D1 - Персик
Да нет такого в Вашем файле! На первом листе этот столбец вообще пустой, а на втором заголовок."Вес 1".
 
Юрий М, В файле этого не было это я словами пытался описать что мне нужно.
Привел файл в состояние Есть - Вычислить
 
Эта формула?
Код
=ИНДЕКС($C$1:$C$13;СУММПРОИЗВ(МАКС(($A$1:$B$13=D1)*СТРОКА($C$1:$C$13))))
 
Цитата
gling написал:
Эта формула?
Коллега, как поведёт себя эта формула на 50000 строк - есть какая-нибудь оценка? Не поленился раскопировать исходные данные в своей версии на Power Query до 52000 строк - ответ получаю через 3 секунды, хотя соглашусь, что результат зависит от объёма неповторяющихся наименований фруктов в выводе.
Updated
Сделал в размноженном примере все ячейки первого и второго столбца уникальными, объём вывода 104 тысячи строк - 5 секунд.
Изменено: Андрей VG - 21.09.2019 10:22:11
 
Смотрим все счастливое сообщение №13
 
Цитата
vikttur написал:
Смотрим все счастливое сообщение №13
Согласен. Вариант
Как для каждого наименования из двух столбцов найти максимальный номер строки, где оно встречается, и значение третьего столбца этой строки
 
Цитата
vikttur написал: Описать задачу так, чтобы поняли другие.
Нужно найти последнее упоминание по значению D2 в 1 или 2 столбце и вывести соответствующее строке значение из столбца 3 в ячейку E2
думал что не совсем глупый :( но перечитав тему понял что не могу четко сформулировать мысль. Так лучше?  
 
kolyaya, вопросы продолжаются ))
Почему начали поиск не с яблока, а с персика? Яблоко ведь раньше в таблице, чем персик.
 
Надеюсь, что понял правильно. См. файл.
 
Цитата
kolyaya написал:
Так лучше?  
Так а чем решение но Power Query-то не устраивает?
 
Цитата
Андрей VG написал:
Теперь вы мучайтесь что там да как
Там просто два фильтра у вас в файле. Я не увидел никаких формул, Пойду читать про PowerQuery  
 
Мой вариант из #23  проверили?
 
Юрий М, Спасибо работает
Андрей VG, Спасибо работает, и отдельно что наталкнули на такой полезный инструмент как Power Query, буду разбираться
Mershik, Спасибо после установки Power Query ваш пример открылся по другому :)
Страницы: 1
Наверх