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

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

во втором варианте через PQ  так как я далек от него, может не красиво но результат есть... он быстрее думаю. проверил на 8к строк секунд 10 получилось. при добавлении значений в таблицу достаточно обновить таблицу и все
Изменено: Mershik - 20 Сен 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 Сен 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 Сен 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
Читают тему (гостей: 1)
Наверх