Подсчет ячеек, содержащих любой текст
Я хочу посчитать ячейки, которые содержат что-либо в пределах диапазона. Любая ячейка, содержащая текст, или числа, или что-то еще, должна иметь плюс одну в моей ячейке результата.
Я нашел эту функцию,
countif(range; criteria)
но это не работает для меня, потому что я не знаю, что ввести в критерии. Как я могу это сделать?
Ответы
Ответ 1
Вы можете передать "<>"
(включая кавычки) в качестве параметра для criteria
. Это в основном говорит, пока его не пусто/пусто, считайте это. Я считаю, что это то, что вы хотите.
=COUNTIF(A1:A10, "<>")
В противном случае вы можете использовать CountA
как предлагает Скотт
Ответ 2
Функция COUNTIF будет считать только ячейки, которые содержат числа в указанном диапазоне.
COUNTA (диапазон) будет считать все значения в списке аргументов. Считываются текстовые записи и числа, даже если они содержат пустую строку длиной 0.
Пример:
Функция в A7
= СЧЕТЗ (А1: А6)
Диапазон:
A1 a
A2 b
А3 банан
A4 42
А5
A6
A7 4 → результат
Список функций электронных таблиц Google содержит список всех доступных функций для будущих ссылок https://support.google.com/drive/table/25273?hl=en.
Ответ 3
Образец файла
![enter image description here]()
Замечания:
- Попытался найти формулу для подсчета непустых ячеек (
=""
- пустая ячейка) без необходимости использовать data
дважды. Решение для goolge-spreadhseet: =ARRAYFORMULA(SUM(IFERROR(IF(data="",0,1),1)))
. Для excel ={SUM(IFERROR(IF(data="",0,1),1))}
должен работать (нажмите Ctrl + Shift + Enter в формуле).
Ответ 4
Если у вас есть ячейки с чем-то вроде =""
и вы не хотите их подсчитывать, вам нужно вычесть число пустых ячеек из общего числа ячеек по формуле, например
=row(G101)-row(G4)+1-countblank(G4:G101)
В случае двумерного массива это будет
=(row(G101)-row(A4)+1)*(column(G101)-column(A4)+1)-countblank(A4:G101)
Протестировано в документах google.
Ответ 5
Критерий должен быть "?*"
не "<>"
поскольку последний также будет считать формулы, содержащие пустые результаты, например ""
Таким образом, самая простая формула будет
=COUNTIF(Range,"?*")