ДОбрый день! Мозг кипит Помогите решить задачу: нужно сделать сводную таблицу при этом суммировав три столбца суммирование должно быть произведенно при создание сводной
пример выкладываю. заранее спасибо
p.s. создать сводную не проблема. не могу решить как суммировать столбцы
ДОбрый день! Мозг кипит Помогите решить задачу: нужно сделать сводную таблицу при этом суммировав три столбца суммирование должно быть произведенно при создание сводной
пример выкладываю. заранее спасибо
p.s. создать сводную не проблема. не могу решить как суммировать столбцыavzan79
Pelena, спасибо Но можно было бы реализовать это с помощью макроса Количество данных огромное и постоянно растет Нужно оперативно делать сводную
Pelena, спасибо Но можно было бы реализовать это с помощью макроса Количество данных огромное и постоянно растет Нужно оперативно делать своднуюavzan79
Макрос в приложенном файле суммирует три столбца в один и, если название фирмы и товара повторяется - наслаивает сверху. Ничего потеряно не будет. Для удобства внутри есть кнопки.
[vba]
Код
Sub Column_Summ_Manager()
'Macros by Roman "Rioran" Voronov '04.06.2014 for www.excelworld.ru
Application.ScreenUpdating = False 'Отменяем эпилептический припадок для экрана With ThisWorkbook.Worksheets("Job") 'Работаем только с конкретным листом этой книги
Dim X As Long 'Для перебора строк начальной таблицы, счётчик Dim Y As Long 'Для перебора строк сводной таблицы, счётчик Dim W As Long 'Для поиска товара в сводной таблице, счётчик
X = 2 'Начальная позиция в первой таблице Y = 27 'Начальная позиция во второй таблице
Do While .Cells(X, 1).Value <> "" 'Перебираем строки начальной таблицы Do While .Cells(Y, 1).Value <> "" 'Ищем фирму в сводной таблице If .Cells(X, 1).Value = .Cells(Y, 1).Value Then 'Если совпадают названия фирмы... For W = 1 To 4 'Перебираем товар в сводной, подбираем If .Cells(X, 2).Value = .Cells(Y + W - 1, 2).Value Then 'Если товар совпал, то суммируем всё и уже имеющиеся значения .Cells(Y + W - 1, 3).Value = .Cells(Y + W - 1, 3).Value + .Cells(X, 3).Value + .Cells(X, 4).Value + .Cells(X, 5).Value .Cells(Y + W - 1, 4).Value = .Cells(Y + W - 1, 4).Value + .Cells(X, 6).Value .Cells(Y + W - 1, 5).Value = .Cells(Y + W - 1, 5).Value + .Cells(X, 7).Value Exit Do 'и переходим к следующей стоке начальной таблицы End If Next W End If Y = Y + 5 'т.к. название фирмы через каждые 5 строк. Шаг. Loop X = X + 1 'Счётчик для строк начальной таблицы Y = 27 'Обнуляем счётчик для сводной таблицы Loop
End With Application.ScreenUpdating = True
End Sub
[/vba] Что скажете?
******* Поправил макрос - теперь затраты на перевозку и погрузку тоже суммируются при повторении фирмы+товара в начальной таблице.
avzan79, здравствуйте.
Макрос в приложенном файле суммирует три столбца в один и, если название фирмы и товара повторяется - наслаивает сверху. Ничего потеряно не будет. Для удобства внутри есть кнопки.
[vba]
Код
Sub Column_Summ_Manager()
'Macros by Roman "Rioran" Voronov '04.06.2014 for www.excelworld.ru
Application.ScreenUpdating = False 'Отменяем эпилептический припадок для экрана With ThisWorkbook.Worksheets("Job") 'Работаем только с конкретным листом этой книги
Dim X As Long 'Для перебора строк начальной таблицы, счётчик Dim Y As Long 'Для перебора строк сводной таблицы, счётчик Dim W As Long 'Для поиска товара в сводной таблице, счётчик
X = 2 'Начальная позиция в первой таблице Y = 27 'Начальная позиция во второй таблице
Do While .Cells(X, 1).Value <> "" 'Перебираем строки начальной таблицы Do While .Cells(Y, 1).Value <> "" 'Ищем фирму в сводной таблице If .Cells(X, 1).Value = .Cells(Y, 1).Value Then 'Если совпадают названия фирмы... For W = 1 To 4 'Перебираем товар в сводной, подбираем If .Cells(X, 2).Value = .Cells(Y + W - 1, 2).Value Then 'Если товар совпал, то суммируем всё и уже имеющиеся значения .Cells(Y + W - 1, 3).Value = .Cells(Y + W - 1, 3).Value + .Cells(X, 3).Value + .Cells(X, 4).Value + .Cells(X, 5).Value .Cells(Y + W - 1, 4).Value = .Cells(Y + W - 1, 4).Value + .Cells(X, 6).Value .Cells(Y + W - 1, 5).Value = .Cells(Y + W - 1, 5).Value + .Cells(X, 7).Value Exit Do 'и переходим к следующей стоке начальной таблицы End If Next W End If Y = Y + 5 'т.к. название фирмы через каждые 5 строк. Шаг. Loop X = X + 1 'Счётчик для строк начальной таблицы Y = 27 'Обнуляем счётчик для сводной таблицы Loop
End With Application.ScreenUpdating = True
End Sub
[/vba] Что скажете?
******* Поправил макрос - теперь затраты на перевозку и погрузку тоже суммируются при повторении фирмы+товара в начальной таблице.Rioran
- либо все таблицы должны иметь стандартный шаг - либо можно упростить макрос на пару циклов, прописав в сводной таблице название фирмы на КАЖДОЙ строке.
avzan79, в этом случае:
- либо все таблицы должны иметь стандартный шаг - либо можно упростить макрос на пару циклов, прописав в сводной таблице название фирмы на КАЖДОЙ строке.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279