В Excel функция СЧЕТЕСЛИ обычно используется для подсчета ячеек, соответствующих определенным критериям. Однако если вы хотите подсчитать ячейки, длина которых не равна нулю, вам необходимо использовать комбинацию функций и операторов. В этой статье мы рассмотрим несколько методов с примерами кода для решения этой задачи.
Метод 1: использование функций LEN и COUNTIF
Функция LEN возвращает длину заданной текстовой строки. Объединив функцию ДЛСТР с функцией СЧЕТЕСЛИ, мы можем подсчитать ячейки, длина которых больше нуля.
=COUNTIF(range,"<>"&"")
Объяснение:
range– это диапазон ячеек, которые вы хотите посчитать."<>"&""— это критерий, используемый функцией COUNTIF для подсчета ячеек, которые не равны пустой строке.
Метод 2: использование функции СУММПРОИЗВ
Функция СУММПРОИЗВ может использоваться для выполнения вычислений над массивами. Используя функцию СУММПРОИЗВ с логическими операторами, мы можем подсчитывать ячейки, длина которых не равна нулю.
=SUMPRODUCT(--(range<>""))
Объяснение:
range– это диапазон ячеек, которые вы хотите посчитать.(range<>"")создает массив значений TRUE/FALSE, где TRUE представляет ячейки, которые не равны пустой строке.--(range<>"")преобразует значения TRUE/FALSE в 1/0 соответственно.- СУММПРОИЗВ суммирует 1 и 0, эффективно подсчитывая ячейки ненулевой длины.
Метод 3: использование функции СЧЁТЕСЛИ
Функция СЧЁТЕСЛИ позволяет подсчитывать ячейки на основе нескольких критериев. Установив критерий «не равно пустой строке», мы можем подсчитать ячейки ненулевой длины.
=COUNTIFS(range,"<>"&"")
Объяснение:
range– это диапазон ячеек, которые вы хотите посчитать."<>"&""— это критерий, используемый COUNTIFS для подсчета ячеек, которые не равны пустой строке.
Метод 4: использование VBA (Visual Basic для приложений)
Если вы знакомы с VBA, вы можете использовать специальную функцию для подсчета ячеек ненулевой длины. Вот пример:
Function CountNonZeroLength(rng As Range) As Long
Dim cell As Range
Dim count As Long
For Each cell In rng
If Len(cell.Value) > 0 Then
count = count + 1
End If
Next cell
CountNonZeroLength = count
End Function
Объяснение:
- Функция
CountNonZeroLengthпринимает диапазон (rng) в качестве входных данных и возвращает количество ячеек ненулевой длины. - Функция перебирает каждую ячейку диапазона и проверяет, больше ли ее длина нуля, с помощью функции
Len. - Если длина больше нуля, счетчик увеличивается.
- Наконец, функция возвращает счетчик.
В этой статье мы рассмотрели несколько методов подсчета ячеек в Excel, длина которых не равна нулю. Мы рассмотрели формулы с использованием функций СЧЁТЕСЛИ, СУММПРОИЗВ и СЧЁТЕСЛИ, а также пользовательской функции VBA. Применяя эти методы, вы можете эффективно подсчитывать ячейки ненулевой длины в таблицах Excel.