Суммирование только видимых значений

Кирк использует функцию СУММ во многих своих рабочих таблицах, чтобы (естественно) определить сумму диапазона значений. Однако проблема, с которой он сталкивается, заключается в том, что диапазон, который он суммирует, содержит некоторые скрытые строки, и он не хочет, чтобы эти значения – скрытые – включались в сумму.

СУММ функция довольно упрощена в том, как она выполняет свою работу; он просто суммирует диапазон. Однако вы можете изменить используемую функцию и получить желаемый результат. Например, предположим, что вы хотите суммировать диапазон A3: A45 и не хотите, чтобы в эту сумму включались какие-либо скрытые значения. Вы должны использовать функцию ПРОМЕЖУТОЧНЫЙ ИТОГ следующим образом:

 = ПРОМЕЖУТОЧНЫЙ ИТОГ (109, A3: A45) 

Первый параметр функции (109) указывает, как вы хочу, чтобы SUBTOTAL выполнил свою работу. В этом случае это означает, что вы хотите, чтобы SUBTOTAL суммировал диапазон, используя функцию SUM, и вы не хотите, чтобы какие-либо скрытые значения включались в возвращаемое значение. (Дополнительные сведения об управлении параметрами ПРОМЕЖУТОЧНЫЙ ИТОГ можно найти в интерактивной справке для функции ПРОМЕЖУТОЧНЫЙ ИТОГ.)

Если вы по какой-то причине не хотите использовать функцию ПРОМЕЖУТОЧНЫЙ ИТОГ, вы можете создайте свою собственную определяемую пользователем функцию (макрос), которая будет суммировать только видимые значения в диапазоне. Рассмотрим этот макрос:

 Функция Sum_Visible (Cells_To_Sum As Object) Dim vTotal As Variant Application.Volatile vTotal = 0 для каждой ячейки в Cells_To_Sum Если не cell.Rows.Hidden, то If Not cell.Columns.Hidden  Тогда vTotal = vTotal + cell.Value End If End If Next Sum_Visible = vTotalEnd Function 

Чтобы использовать функцию, просто используйте такую ​​формулу везде, где вы хотите, чтобы ваша сумма отображалась:

 = Sum_Visible (A1: A1000) 

Оцените статью
Frestage.ru
Добавить комментарий