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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2011, 23:17   #1
lkbb
Пользователь
 
Регистрация: 22.07.2010
Сообщений: 11
По умолчанию поиск уникальных значений и суммирование

Приветствую, уважаемые!

Передо мной стоит задача: собрать с нескольких листов уникальные значения и просуммировать числа, им соответствующие. То есть к примеру, во вложенном файле на листе "данные" в первом столбце по типу "кирпич" должны складываться количества и веса по категории "кирпич" с листов 1 и 2. Так же и по другим типам.

Я вижу решение этой задачи следующим способом:
1)циклом собрать все строки со значениями с листов 1 и 2 на лист "данные"
2)из полученных данных извлечь уникальные типы ("кирпич", "песок" и тд)
3)с помощью формулы "суммесли" найти суммы по типам.

То есть 3 шага. Медленно и как-то топорно.

Возможно, есть более изящное решение задачи? Подскажите пожалуйста.
Вложения
Тип файла: rar поиск и суммирование уникальных.rar (6.3 Кб, 52 просмотров)
lkbb вне форума Ответить с цитированием
Старый 26.01.2011, 23:35   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я сделал одним шагом, без программирования (это называется сводная таблица)
Вложения
Тип файла: rar Книга545.rar (9.7 Кб, 58 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.01.2011, 23:37   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

чтобы было быстро.мне надо знать собрать с каких листов.

Итого сколько мы имеем листов для сбора.
1.Все .кроме первого.
2.Все,лист с результатом создаем в процессе работы макроса.


PS.Вот так всегда,пока собрался,написал-Игорь уже отстрелялся
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 27.01.2011, 06:07   #4
lkbb
Пользователь
 
Регистрация: 22.07.2010
Сообщений: 11
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
я сделал одним шагом, без программирования (это называется сводная таблица)
Сводной таблицей, увы, решить проблему не получится, поскольку реальная задача несколько сложней той, что в примере (хотя сходна по принципу)
В реальности на листах есть некие блоки с данными, у которых есть идентификационная ячейка, и суммировать нужно данные в ячейках каждого блока, которые находятся или ниже идентификационного блока, или правее, или ниже и правее. (как в примере). Так что без макроса не обойтись!
Цитата:
Сообщение от doober Посмотреть сообщение
Итого сколько мы имеем листов для сбора.
1.Все .кроме первого.
2.Все,лист с результатом создаем в процессе работы макроса.
Листов с данными для сбора фиксированное количество, 12. Известны их индексы (с 4 по 15) и названия (месяцы). Всего в книге будет 17 листов
Вложения
Тип файла: rar пример.rar (6.4 Кб, 48 просмотров)
lkbb вне форума Ответить с цитированием
Старый 27.01.2011, 12:08   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Кнопка,выбор файла.
Листы обрабатываются с 4 по 15
Пароль перед вами,но лучше не трогать код
Вложения
Тип файла: rar Сборщик.rar (17.4 Кб, 141 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 28.01.2011, 06:05   #6
lkbb
Пользователь
 
Регистрация: 22.07.2010
Сообщений: 11
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Кнопка,выбор файла.
Листы обрабатываются с 4 по 15
Пароль перед вами,но лучше не трогать код
Это нечто гениальное. Никогда бы не додумался использовать sql. Буду разбираться. Спасибо!
lkbb вне форума Ответить с цитированием
Старый 21.07.2014, 16:07   #7
Vja4eslav
Пользователь
 
Регистрация: 13.08.2011
Сообщений: 90
По умолчанию

Здравствуйте doober, на Вашем коде стоит пароль. Это потому что он платный? Просто хотелось бы тоже посмотреть на этот код.
Vja4eslav вне форума Ответить с цитированием
Старый 08.01.2021, 08:48   #8
Чивап59
Новичок
Джуниор
 
Регистрация: 28.08.2020
Сообщений: 1
По умолчанию

Доброго всем здоровья и с праздником!!!
Пользуюсь данным макросом. Помогите добавить в него суммирование данных полученных уникальных значений из столбцов "Е" и "G:K"
Sub Данные()
Dim i As Long, N As Long, c As Collection, m As Long
Dim j As Long, vd As String, va As String

Columns("C:C").Copy Range("L1")

ActiveSheet.Range("L:L").RemoveDupl icates Columns:=1, Header:=xlYes

Range("L1").Value = "Данные"

N = Cells(Rows.Count, "L").End(xlUp).Row
m = Cells(Rows.Count, "A").End(xlUp).Row

For i = 2 To N
Set c = Nothing
Set c = New Collection
vd = Cells(i, "L").Value
For j = 2 To m
va = Cells(j, "C").Value
If va = vd Then
On Error Resume Next
c.Add Cells(j, "A").Value, CStr(Cells(j, "A").Value)
On Error GoTo 0
End If
Next j
Cells(i, "M").Value = c.Count
Next i
End Sub
Чивап59 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка уникальных значений в столбце kostya.myit Microsoft Office Excel 14 04.11.2012 10:33
Отбор уникальных значений ListBox KlerKK Microsoft Office Excel 2 20.12.2009 15:35
Список уникальных значений PARTOS Microsoft Office Excel 13 18.12.2009 11:14
Отбор уникальных значений Alex___ Microsoft Office Excel 11 18.08.2009 19:31
Выборка уникальных значений Mary_star SQL, базы данных 9 11.02.2008 22:46