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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2014, 20:19   #1
123456678
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 13
По умолчанию Группировка значений

Доброго времени суток, уважаемые форумчане!
Есть проблема, которую необходимо решить при помощи VBA, у самого уже крыша съехала, надеюсь на Вашу помощь.
В таблице, в различных столбцах, имеется информация о неком событии (написал так, что хрен поймешь)
Вообщем проще будет понять, увидев, пример во вложении.

Необходимо из данных на листе 1 сделать группировку (как на листе 2),
но отображаться должны и кличка по каждой группе.

Отдельно необходимо по каждому номеру посчитать стоимость всех обращений (на листе 1 в новом столбце G). Желательно напротив каждого обращения. Т.е. должно получится напротив каждой клички "Ширик" должно в столбце G отображаться 3300, а напротив "Тузика" 1800.

Очень надеюсь на Вашу помощь.
Вложения
Тип файла: zip Условный пример.zip (9.9 Кб, 10 просмотров)

Последний раз редактировалось 123456678; 03.12.2014 в 07:27.
123456678 вне форума Ответить с цитированием
Старый 03.12.2014, 06:07   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Необходимо из данных на листе 1 сделать группировку (как на листе 2)
Где лист 2 (с желаемым результатом)?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.12.2014, 07:31   #3
123456678
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 13
По умолчанию

Прошу прощения, изменил фаил. На втором листе группировка, которая выполняется командой Данные-Промежуточный итог, ну или таким кодом:

Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(6), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True

Но при таком коде, мы видим только значения столбца 1 и сумму по 6 столбцу, а как сделать что бы отображалось несколько столбцов (при условии что данные в группе по этому столбцу будут одинаковые)
123456678 вне форума Ответить с цитированием
Старый 03.12.2014, 10:30   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример во вложении.
Откройте файл и выполните макрос "Main".
Что именно нужно добавить в итоговые строки по группам я не знаю. Добавил некоторые значения для примера.
Вложения
Тип файла: rar пример_2.rar (13.6 Кб, 17 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.12.2014, 21:12   #5
123456678
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 13
По умолчанию

SAS888, Вы правильно поняли. Только не совсем понял что именно делал макрос, если не сложно, могли бы Вы добавить Коментарии к коду?
И ещё, есть сложность. что бы в данной таблице, в графе "дата приема" выводилась дата самого раннего приема.
Буду примного благодарен оставленным Вами комментариями к коду!
123456678 вне форума Ответить с цитированием
Старый 04.12.2014, 06:30   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Во вложении файл с добавлением требуемых дат в итоговых строках и подробными комментариями.
Вложения
Тип файла: rar пример_3_comments.rar (14.5 Кб, 9 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 04.12.2014, 07:42   #7
123456678
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 13
По умолчанию

Огромное спасибо! Буду разбираться.
Пока никак не могу понять как формируются группы внутри таблицы и как можно с ними всеми работать по отдельности.
123456678 вне форума Ответить с цитированием
Старый 05.12.2014, 07:31   #8
123456678
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 13
По умолчанию

Возник вопрос, а есть ли возможность в дальнейшем итоговые строки получившейся таблицы (итог каждой группы) отдельно от остальных строк, перенести на новый лист, что бы потом можно было удобно с ними работать (сортировка, дополнительная группировка и т.д.
Пока обошелся копированием полученной таблицы в новую книгу, но чувствую что это далеко не самый оптимальный способ.
123456678 вне форума Ответить с цитированием
Старый 05.12.2014, 14:00   #9
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пример во вложении. После группировки все видимые (итоговые) строки будут перенесены на лист 2.
Вложения
Тип файла: rar пример_4_comments.rar (14.4 Кб, 14 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 05.01.2015, 15:41   #10
123456678
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 13
По умолчанию

И ещё разок доброго времени суток!
в процессе работы столкнулся с одной сложностью.
Таблица для сортировки другая, в ней в столбце, по которому сортируем попадаются пустые строки, и что бы исправить эту проблему в пустые строки подтягивал формулой ЛЕВСИМВ первые 8 символов из соседнего столбца, потом избавляюсь от формул копированием и специальной ставкой (вставить как значения). Дальше сортирую. Но, тут есть одно но, думаю не работает именно по этому, в столбце по которому делаем группировку попадаются не только цифры, но и буквы (которые подтянул формулой) и в связи с этим потом первая строка в столбцах не попадает в группировку и потом полученные группы не поддаются группировке.
Как можно это решить? и можно ли как то?
Если не пользуюсь подтягиванием символов из других столбцов, все работает хорошо.
123456678 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
группировка Iskin Microsoft Office Excel 4 26.12.2011 11:21
Может есть алгоритм проще? группировка значений AK BULLETS Общие вопросы Delphi 9 20.04.2010 17:08
Группировка значений для анализа xamillion Microsoft Office Excel 33 25.05.2009 08:57
группировка Мингиян Microsoft Office Excel 2 23.04.2008 23:43
Группировка SveSve Microsoft Office Excel 3 21.03.2008 11:50