Я хочу посчитать 0
, 00
и 000
в моих данных, которые отформатированы как TEXT, но countif()
дает мне одинаковое значение для каждого из трех критериев поиска.
Пожалуйста, найдите прикрепленное изображение для более подробной информации
Я хочу посчитать 0
, 00
и 000
в моих данных, которые отформатированы как TEXT, но countif()
дает мне одинаковое значение для каждого из трех критериев поиска.
Пожалуйста, найдите прикрепленное изображение для более подробной информации
Проблема возникает потому, что Excel будет оценивать каждую ячейку в столбце A с выражениями "= 000", "= 00" и "= 0", ведь очевидно, что они одинаковы (нули внутри выражений не заключены в кавычки, следовательно, являются числами), хотя не то, что мы ожидали.
Вы можете использовать любимый швейцарский нож моего Excel, SUMPRODUCT
:
=SUMPRODUCT(--(A$2:A$12=B2))
Двойной знак минус заставит логическое выражение в 1 (true) или 0 (false).
Забудьте все VBA и более сложные операторы суммы, функция LEN в Excel считает строку символов. Если у вас есть начальные или конечные пробелы, сначала используйте функцию TRIM, но, вероятно, это так же просто, как = LEN(A2).
Чтобы обойти что-то кроме строки нулей, я бы использовал = IFERROR(ЕСЛИ (B1 * "1" = 0, LEN (B1), 0), 0) IFERROR обрабатывает это "X" и умножая текстовую строку нули на "1", вы конвертируете его в число, так что оператор IF приравнивает его к "0" и запускает оператор "value if true" LEN (B1)