5

Я хочу посчитать 0 , 00 и 000 в моих данных, которые отформатированы как TEXT, но countif() дает мне одинаковое значение для каждого из трех критериев поиска.

Пожалуйста, найдите прикрепленное изображение для более подробной информации

3 ответа3

4

Проблема возникает потому, что Excel будет оценивать каждую ячейку в столбце A с выражениями "= 000", "= 00" и "= 0", ведь очевидно, что они одинаковы (нули внутри выражений не заключены в кавычки, следовательно, являются числами), хотя не то, что мы ожидали.

Вы можете использовать любимый швейцарский нож моего Excel, SUMPRODUCT:

=SUMPRODUCT(--(A$2:A$12=B2))

Двойной знак минус заставит логическое выражение в 1 (true) или 0 (false).

1

Странно, но, кажется, вы не можете запретить Excel преобразовывать текст в числа, когда это возможно.

Вот обходной путь с формулой массива (необходимо ввести, используя CTRL+SHIFT+ENTER):

=SUM(IF($A$2:$A$12=B2,1,0))

1

Забудьте все VBA и более сложные операторы суммы, функция LEN в Excel считает строку символов. Если у вас есть начальные или конечные пробелы, сначала используйте функцию TRIM, но, вероятно, это так же просто, как = LEN(A2).

Чтобы обойти что-то кроме строки нулей, я бы использовал = IFERROR(ЕСЛИ (B1 * "1" = 0, LEN (B1), 0), 0) IFERROR обрабатывает это "X" и умножая текстовую строку нули на "1", вы конвертируете его в число, так что оператор IF приравнивает его к "0" и запускает оператор "value if true" LEN (B1)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .