Страницы: 1
RSS
Суммирование данных из разных столбцов, учитывая вхождение столбца по соответсвию критерию.
 
Господа, есть следующая задача!

Есть 2 таблицы.
Таблица 1 с исходными данными по месяцам и сводная (таблица 2), в которой нужно проссумировать данные из исходной таблицы помесячно в диапазоне D17-D23 .
Для того чтобы каждый отчетный месяц не переписывать формулу не прибавляя к ней новый столбец, можно как-то объяснить excel из каких столбцов забирать данные? Например если сейчас сентябрь, то пусть складывает с января по сентябрь включительно! В исходной таблице названия столбцов соответствуют названиям месяцев.

Пример во вложении.
Заранее благодарю!
 
если таблицу 1 организовать  из таких колонок
когда
что
сумма

из такой таблицы элементарно получить отчет за ЛЮБОЙ период по любому товару
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Конечно, когда есть возможность с ноля создавать отчетность, то ты ее проектируешь так чтобы все было просто извлекать, но к сожалению, часто приходится ковырять имеющуюся отчетность, которая далека по структуре от идеала.
Изменено: Артем_81 - 07.10.2021 11:14:05
 
Код
=СУММПРОИЗВ(--(ЕСЛИОШИБКА(МЕСЯЦ(ДАТАЗНАЧ(1&C3:R3&2021));13)<=МЕСЯЦ(ДАТАЗНАЧ(1&C15&2021)));C4:R4)
 
В модуль листа1, срабатывает при изменении месяца в С15. В ячейке сделать выпадающий список из месяцев
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C15")) Is Nothing Then
        Application.EnableEvents = False
Dim iMonth As String
Dim FoundMonth As Range
Dim j As Integer
Dim iSumma As Double
        iMonth = Target.Text
        Range("C17") = 0
      Set FoundMonth = Rows(3).Find(iMonth, , xlValues, xlWhole)
      For j = 3 To FoundMonth.Column
        If Not Cells(3, j) Like "*квартал" Then
          iSumma = iSumma + Cells(4, j)
        End If
      Next
      Range("C17") = iSumma                  'для наименования 1
      Range("C17").NumberFormat = "#,##0"
    End If
    Application.EnableEvents = True
End Sub

Для других строк доделайте сами
 
Спасибо большое.
В решении №4 формула работает идеально!
Можете подсказать что за двойной минус (--( после суммпроизв  ?
 
Цитата
Артем_81: что за двойной минус
преобразование текста в число (математическая операция двойного отрицания)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Понял, принял, Благодарю!
Страницы: 1
Наверх