COUNTA считает пустые (пустые) ячейки в новых электронных таблицах Google?

В новых электронных таблицах Google COUNTA считает пустые ячейки при обращении к пустым ячейкам, которые являются частью формулы массива (в столбце формулы массива). Это не относится к старым таблицам Google, где COUNTA дает ожидаемый результат (0). В равной степени влияют другие формулы? Любое решение?

3 ответа

Решение

Да, в новой версии Sheets изменилось поведение COUNTA по отношению к текстовым строкам нулевой длины.

В новых электронных таблицах Google COUNTA считает пустые ячейки при обращении к пустым ячейкам, которые являются частью формулы массива (в столбце формулы массива). Это не относится к старым таблицам Google, где COUNTA дает ожидаемый результат (0).

Предположительно, пустые ячейки, на которые вы ссылаетесь, заполняются символом "" в формуле массива. В новой версии Sheets эти ячейки подсчитываются, и вы правы, что в старой версии их не было. Для чего это стоит, новое поведение согласуется с тем, что происходит в MS Excel.

В равной степени влияют другие формулы?

Да, функция SORT (и выполнение сортировки на месте с помощью встроенных инструментов сортировки) теперь будет сортировать текстовую строку нулевой длины после чисел и дат, а также до других текстовых строк, тогда как до текстовых строк нулевой длины толкнул на дно рода (но до действительно пустых ячеек). Опять же, это новое поведение сортировки соответствует MS Excel.

Любое решение?

Я думаю, что лучшим обходным решением было бы отказаться от использования "" в формулах IF. В новой версии Sheets, если вы вообще опускаете второй или третий аргумент функции IF, и функция оценивает этот аргумент, то возвращается действительно пустая ячейка (во всяком случае, на момент написания этого). Так что вместо того, чтобы использовать что-то вроде:

=ArrayFormula(IF(A2:A>25, "something",""))

использовать:

=ArrayFormula(IF(A2:A>25, "something",))

и COUNTA не будет считать пустые клетки.

Хотя удаление третьего аргумента будет работать, если у вас есть только один оператор If в ArrayFormula, если у вас есть вложенные If, это не выбор (так как в ArrayFormula нет ни OR, ни AND). Однако из CountIF для непустых ячеек на форуме Google Docs мне пришла в голову мысль попробовать следующее:

countif(P4:P,">""")

и это сработало отлично.

Я только что столкнулся с этой проблемой и искал более легкое решение. Я просто выделил затронутые этим поля и использовал функцию «заменить». Я оставил первую ячейку в функции пустой и заменил ее номером 1 (это не использовалось ни в одной из моих существующих ячеек, поскольку это были слова, а не числа). Затем я снова использовал замену и заменил все единицы пустой ячейкой. Это сработало!

Другие вопросы по тегам