Страницы: 1
RSS
Нужно чтобы консолидация суммировала только один столбец из нескольких
 
Здравствуйте
Применяю консолидацию на таблицу с несколькими числовыми столбиками. Как можно сделать так, чтобы она суммировала только определенный столбец, а остальные оставались как есть (остальные столбцы с повторяющиемся марками одинаковые).
То есть, есть марка, длина, ширина и кол-во. Нужно чтобы консолидация просуммировала только кол-во, а длина и ширина относящиеся к марке, сохранялись
Пример во вложение закинул
Всем огромное спасибо
Изменено: Vorin - 21.01.2022 17:14:06
 
А почему выбор пал на консолидацию? Можно сводной сделать все как положено. Для Длина и Ширина выставляете функцию поля Максимум(или минимум, здесь не важно), а для кол-ва - Сумма. И все.
Если никогда ранее не работали со сводными таблицами: Общие сведения о сводных таблицах
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Можно формулами.
 
Цитата
просуммировала только кол-во
Код
Sub Marka()
Dim arr
Dim dic As Object
Dim i As Long
Dim iLastRow As Long
Dim iKey
    iLastRow = Cells(Rows.Count, "C").End(xlUp).Row
     Range("H4:K" & iLastRow).ClearContents
     Set dic = CreateObject("Scripting.Dictionary"): dic.comparemode = 1
     arr = Range("C4:F" & iLastRow).Value
  For i = 1 To UBound(arr)
    dic.Item(arr(i, 1) & "|" & arr(i, 2) & "|" & arr(i, 3)) = _
    dic.Item(arr(i, 1) & "|" & arr(i, 2) & "|" & arr(i, 3)) + arr(i, 4)
  Next i
    i = 4
  For Each iKey In dic.keys
    Cells(i, "H") = Split(iKey, "|")(0)
    Cells(i, "I") = Split(iKey, "|")(1)
    Cells(i, "J") = Split(iKey, "|")(2)
    Cells(i, "K") = dic.Item(iKey)
    i = i + 1
  Next
End Sub
Страницы: 1
Наверх