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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2017, 04:16   #1
Kozika
 
Регистрация: 28.12.2016
Сообщений: 7
По умолчанию Выбор уникальных значений

Добрый день!
Прошу помощи в решении одной задачи...
Понимаю, что тема не новая, но не получается сложить все воедино
Суть в том, что есть БД, в которой имеются повторяющиеся значения.
Необходимо выбрать уникальные, но при этом с выбором уникальных значений в новую БД должны поместится в одну ячейку, объединенные данные по всем повторяющимся значениям, привязанные к нашим уникальным....
Пример во вложении
Вложения
Тип файла: xlsx пример1.xlsx (10.2 Кб, 18 просмотров)
Kozika вне форума Ответить с цитированием
Старый 24.01.2017, 10:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если никто не предложит хороший вариант, то можете попробовать такой макрос:

Код:
Sub GroupByResult()
    Dim z, i&
    z = Range("B4:C" & Range("C" & Rows.Count).End(xlUp).Row).Value
    With CreateObject("scripting.dictionary"): .comparemode = 1
        For i = 1 To UBound(z)
           If Len(.Item(z(i, 1))) > 0 Then
             .Item(z(i, 1)) = .Item(z(i, 1)) & ","
           End If
           .Item(z(i, 1)) = .Item(z(i, 1)) & z(i, 2)
        Next i
    Range("F16").Resize(.Count, 2).Value = Application.Transpose(Array(.Keys, .Items))
   End With
End Sub
p.s. макрос чужой, взял тут на форуме и чуток испортил под текущую задачу
p.p.s. список не отсортирован
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.01.2017, 11:20   #3
Kozika
 
Регистрация: 28.12.2016
Сообщений: 7
По умолчанию

Спасибо большое!
Все получилось!
Даже отсутствие сортировки не портит полученный результат )))
Отсортирую вручную!
Я пыталась сначала сделать выбор привязанных данных к одному уникальному значению, а остальные (уже не уникальные) обнуляла, на итог таблица была по кол-ву строк такой же как и исходная, только с нулями )
Еще раз спасибо!
Kozika вне форума Ответить с цитированием
Старый 24.01.2017, 11:59   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Пожалуйста!

Сортировку можно и программно сделать!
можно массив отсортировать (это эффективно, но чуть больше кода).
а можно и вставленный результат на листе макросом отсортировать (это неправильно, но зато просто ).

Удивлён, что никто из гуру MS Excel (коих на форуме немало) не написал своё решение!
Либо заняты, либо проглядели тему.
Кстати, Вы не будете возражать, если я тему перенесу из раздела "Помощь студентам" в раздел "MS Excel" ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.01.2017, 12:05   #5
Kozika
 
Регистрация: 28.12.2016
Сообщений: 7
По умолчанию

Нет, я возражать не буду, переносите.
А на предмет того, что никто не ответил - может посчитали, что уже и так достаточно было сказано на эту тему )))
Сначала пыталась решить данную проблему формулами, но....как-то не сложилось )
Kozika вне форума Ответить с цитированием
Старый 24.01.2017, 13:59   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тему я перенёс.

формулами в данном случае решать очень сложно,
макрос проще и надёжнее.

по поводу ответов знатоков - так ещё не вечер, может быть, кто-то и ответит.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.01.2017, 15:55   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Гурам сперва бы понять что такое уникальное
Если верить вике (и вопросу), то ответ Сергея в корне неверен!
P.S. Вернее так - вопрос сам себе противоречит...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 24.01.2017 в 15:59.
Hugo121 вне форума Ответить с цитированием
Старый 24.01.2017, 16:10   #8
Kozika
 
Регистрация: 28.12.2016
Сообщений: 7
По умолчанию

Hugo121, в приложении, по моему, все просто изложено - как есть и какой должен быть результат ))) В приложенном файле указанный код сработал, в своей БД я его еще не применяла, но думаю проблем быть не должно.
Kozika вне форума Ответить с цитированием
Старый 24.01.2017, 16:14   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
P.S. Вернее так - вопрос сам себе противоречит...
ну, не привередничайте.
из данных с повторами нужно выбрать данные так, чтобы ключевое поле не повторялось, а дополнительные сведения собрать в одно поле, соединив через запятую.
если открыть пример, то там наглядно видно, что нужно из данных:
Код:
Иванов	35
Петров	42
Попов	46
Бобров	12
Иванов	55
Бобров	45
Петров	47
Макаров	63
Воробьев	58
получить сводную табличку вида:
Код:
Бобров	12, 45
Воробьев	58
Иванов	35, 55
Макаров	63
Петров	42, 47
Попов	46
ну,или, другой пример.
это то, что делает SQL команда:
select KeyValue, <фукция_слияния> from Table group by KeyValue
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.01.2017, 16:22   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

https://ru.wiktionary.org/wiki/%D1%8...BD%D1%8B%D0%B9

https://ru.wiktionary.org/wiki/уникальный

Семантические свойства
Значение

единственный в своём роде, неповторимый, существующий в одном экземпляре ◆ Уникальная вещь. ◆ Уникальный уголок природы. ◆ Уникальное сооружение.

Синонимы

неповторимый, единичный, единственный, исключительный, особый

Антонимы

расхожий, общий, повторяющийся
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор уникальных значений из диапазона Zzema Microsoft Office Excel 5 01.10.2013 12:56
sql выбор уникальных значений world12_tk Помощь студентам 3 28.09.2013 19:52
Выбор уникальных цифр из диапазона Tidus Microsoft Office Excel 23 02.04.2011 03:03
выбор уникальных значений олег69 Microsoft Office Excel 7 10.03.2011 14:15
Выборка уникальных значений Mary_star SQL, базы данных 9 11.02.2008 22:46