Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2013, 06:08   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Перебор строк, оставить с наибольшим значением в ячейке

Доброй ночи, уважаемые форумчане!
Ситуация вроде простая, а как сложить - ума не приложу. Два столбца. В первом фамилии, причем повторяющиеся в произвольном порядке, во втором - суммы. Надо оставить по одной строке с Фамилией и Наибольшей суммой ей соответствующей. Остальные удалить. Если фамилия встречается один раз, то ее и оставляет. По сути, выбрать из столбца с Фамилиями все уникальные, а потом проверить соответствующие им суммы. Видать поздно уже, потому голова и не варит.
Направьте на путь истинный. Заранее спасибо!
Вложения
Тип файла: rar фамилии.rar (6.0 Кб, 17 просмотров)
strannick вне форума Ответить с цитированием
Старый 02.02.2013, 09:29   #2
Volodshan
Форумчанин
 
Регистрация: 20.05.2008
Сообщений: 241
По умолчанию

Сводная - и для выявления суммы, и максимального.
Вложения
Тип файла: rar ZXC_фам.rar (10.7 Кб, 20 просмотров)

Последний раз редактировалось Volodshan; 02.02.2013 в 09:33. Причина: Вложение
Volodshan вне форума Ответить с цитированием
Старый 02.02.2013, 09:35   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

1. Сводная
2. Расширенный фильтр
Вложения
Тип файла: rar .xlsx.rar (2.5 Кб, 24 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 02.02.2013, 13:14   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ещё можно сделать макросом на словаре - перебираем данные, анализируем, запоминаем в словаре уникальные и номер нужной строки.
Затем вторым циклом по словарю отбираем нужное или удаляем ненужное. Можно в параллельный массив выгрузить в нужные строки метки, массив выгрузить на лист, потом по этим меткам сортировать/удалять строки.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 02.02.2013, 18:35   #5
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
1. Сводная
2. Расширенный фильтр
Поступил проще. Вставил Вашу формулу массива и удалил строки, где формула показала значение ЛОЖЬ. Таким образом остались строки с самым большим значением в столбце В. Вчера такую формулу сваял, но не впетрил, что ее надо вводить как формулу массива. Спасибо за подсказку!

Цитата:
Ещё можно сделать макросом на словаре - перебираем данные, анализируем, запоминаем в словаре уникальные и номер нужной строки.
Затем вторым циклом по словарю отбираем нужное или удаляем ненужное. Можно в параллельный массив выгрузить в нужные строки метки, массив выгрузить на лист, потом по этим меткам сортировать/удалять строки.
Пытался сделать что-то подобное. Отобрал уникальные из столбца с Фамилиями, а потом пытался делать проверку по ним и сравнивать ячейки столбца В с суммами с удалением меньших. Затупил на ситуации, что идти надо не сверху вниз, а наоборот. Дошло сегодня. Так что за подсказку тоже Спасибо!

Всем спасибо за помощь. Вопрос решен.
strannick вне форума Ответить с цитированием
Старый 02.02.2013, 23:08   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Идти снизу вверх, или наоборот - это не важно.
В словаре имеем по каждому уникальному номер строки, который нужно оставить. Перебором словаря ставим в эти строки метки (или в созданный массив, что быстрее, затем его выгрузим).
Такого, чтоб лист был заполнен под завязку, и не было для этого свободного столбца - может конечно быть, но не бывает
Теперь с помощью фильтра или ColumnDifferences сразу удаляем все непомеченные строки.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В массиве вставить новый элемент со значением Р вслед за наибольшим из отрицательных элементов, C zenya21 Помощь студентам 2 17.02.2014 22:25
Выявление переменной с наибольшим значением (Delphi) Pang Помощь студентам 1 04.05.2012 10:52
Копирование строк с заданым значением Cone Microsoft Office Excel 3 30.05.2011 09:06
(PASCAL ABC)Дана Матрица, найти индексы всех эл-ов с наибольшим значением, если таких элементов несколько Grandhustla Помощь студентам 0 25.05.2011 16:06
Присвоение гиперссылки файлу с наибольшим значением в последнем символе. TiG Microsoft Office Excel 0 27.01.2010 12:57