Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Метод WorksheetFunction.SumIf

    Метод WorksheetFunction.SumIf — аналог функции СУММЕСЛИ в VBA Excel — суммирование числовых значений в заданном диапазоне с учетом одного условия (критерия).

    WorksheetFunction.SumIf – это метод VBA Excel, который вычисляет сумму числовых значений в заданном диапазоне ячеек с учетом одного условия (критерия). Является аналогом функции СУММЕСЛИ.

    Синтаксис метода WorksheetFunction.SumIf

    WorksheetFunction.SumIf (Диапазон_условия, Условие, Диапазон_суммирования)
    • Диапазон_условия – обязательный параметр, представляющий из себя часть обрабатываемой таблицы, в ячейках которого ищется совпадение с условием (критерием) суммирования.
    • Условие – обязательный параметр, определяющий условие (критерий) суммирования.
    • Диапазон_суммирования – необязательный* параметр, представляющий из себя часть таблицы, в ячейках которого, соответствующих условию (критерию), суммируются значения.

    * Если «Диапазон_суммирования» не указан, его роль выполняет «Диапазон_условия». Другими словами, если условие проверяется в тех же ячейках, значения которых суммируются при выполнении условия, то параметр «Диапазон_суммирования» можно не указывать.

    В параметре «Условие» метода WorksheetFunction.SumIf можно использовать знаки подстановки:

    • вопросительный знак (?) – заменяет один любой символ;
    • звездочка (*) – заменяет любую последовательность символов (в том числе ни одного символа);
    • тильда (~) – ставится перед вопросительным знаком или звездочкой, чтобы они обозначали сами себя.

    Примеры вычисления сумм с одним условием

    Таблица, которая использовалась для реализации всех примеров в коде VBA Excel:

    Склад Товар Кол-во Цена Сумма
    №1 Апельсины 10 65,00 650,00
    №1 Бананы 20 55,00 1100,00
    №1 Лимоны 20 110,00 2200,00
    №1 Мандарины 30 70,00 2100,00
    №1 Яблоки 25 50,00 1250,00
    №2 Апельсины 15 65,00 975,00
    №2 Бананы 40 55,00 2200,00
    №2 Лимоны 15 110,00 1650,00
    №2 Мандарины 5 70,00 350,00
    №2 Яблоки 10 50,00 500,00

    Если хотите повторить примеры, скопируйте эту таблицу и вставьте на рабочий лист Excel в ячейку A1. Таблица займет диапазон A1:E11.

    Пример 1
    Использование параметра «Диапазон_условия» в качестве параметра «Диапазон_суммирования». Значения ячеек указанного диапазона сравниваются с условием и они же суммируются при выполнении условия:

    В этом примере складываются все значения в диапазоне E2:E11, которые превышают 2000. Обратите внимание, что условие заключено в прямые кавычки.

    Другие варианты использования параметра «Условие»: «<1000», «<>2200», «=2200».

    Пример 2
    Определяем общую сумму товаров на складе №2:

    Совпадение с условием ищется в диапазоне A2:A11. Значения ячеек диапазона E2:E11 суммируются в тех строках, где выполняется условие.

    Пример 3
    Применение знаков подстановки в параметре «Условие»:

    В этом примере мы двумя способами определяем общую сумму апельсинов и мандаринов на обоих складах. В первом случае используем звездочку (*), которая заменяет любую последовательность символов. Во втором случае используем знак вопроса (?), который обозначает один любой символ.

    Смотрите также статьи о методах WorksheetFunction.Sum (суммирование без условия) и WorksheetFunction.SumIfs (суммирование с несколькими условиями).


    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.