Страницы: 1
RSS
[ Закрыто ] суммирование в диапазоне листов по критерию
 
Привет всем!
Облазил весь инет, отыскав похожие вопросы и ответы, не разобрался.

прошу вашей помощи  ;)

Необходимо проссумировать числа в диапазоне листов в определенной ячейке по критерию

Формулы суммесли и суммеслимн  не работают только с одним листом

Помогите написать формулу UDF

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


ссылка на пример:

https://www.dropbox.com/s/25ct8t7oz0hvx31/5.xlsx?m

заранее огромное спасибо!
 
Готово:




Код функции:
Код
Function SUMIF_Extended(sheet1name$, sheet2name$, sumcell$, condcell$, condition) As Long
    On Error Resume Next: Application.Volatile True
    Dim WB As Workbook, sh As Worksheet: Set WB = Application.Caller.Parent.Parent
    sh1_ind& = WB.Worksheets(sheet1name$).Index
    sh2_ind& = WB.Worksheets(sheet2name$).Index
    For i& = sh1_ind& To sh2_ind&
        Set sh = WB.Worksheets(i)
        If sh.Range(condcell$).Cells(1) = condition Then
            SUMIF_Extended = SUMIF_Extended + Val(sh.Range(sumcell$).Cells(1))
        End If
    Next
End Function


Формула в ячейке:
Цитата
=SUMIF_Extended(1;5;"B3";"A3";1)
 
Спасибо огромное!
как прекрасно что есть этот форум!  :)

еще вопрос:
удален, вопрос не по теме [МОДЕРАТОР]
 
это почему мой вопрос не по теме?

мой вопрос по теме, и я думаю мне помогут!

я так понимаю что нужно удалить строку

On Error Resume Next: Application.Volatile True

И что нужно прописать в макросе, чтобы эта функция  считала?

я так понимаю простое Calculate ко всему не подходит?
 
na4inau, теперь у меня к Вам два вопроса:
1. С какой целью пишете через строку?
2. Почему действия модератора обсуждаете здесь?
Страницы: 1
Читают тему
Наверх