8

У меня есть формула, где я проверяю диапазон ячеек, являются ли они пустыми или нет.

Если все они не заполнены, я хочу вернуть еще один бланк.

Если какая-либо из ячеек в диапазоне не пуста, я хочу вернуть значение Major Milestone Due .

Вот формула, которую я в настоящее время имею:

=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")

Он возвращает все как Major Milestone Due , даже если есть определенные диапазоны строк со всеми пустыми ячейками.

4 ответа4

13

COUNTA выдаст количество ячеек в диапазоне, которые не являются пустыми.

Так что постарайтесь ...

 =IF(NOT(COUNTA(BM2:BQ2)),"","Major Milestone Due")
9

Ваша формула верна, если она введена как формула массива.

isblank не работает для массива, если вы не введете его как формулу массива с помощью ctrl + shift + enter. Это будет выглядеть так, если иметь вокруг него фигурные скобки:

{=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")}

Кроме того, если - Counta сделает это без проблем, а также -

=IF(COUNTA(BM2:BQ2)=0,"","Major Milestone Due")

2

Важная вещь, которую следует учитывать, - это ваше определение "пусто". Исходя из того факта, что вы использовали формулировку "Я хочу вернуть еще один пробел", может показаться, что вы определяете "пробел" как ячейки, которые кажутся пустыми, но которые на самом деле могут содержать формулу, которая выводит "" и, следовательно, не « т пусто.

COUNTA и ISBLANK не сработают , если вы хотите обрабатывать эти типы ячеек как пробелы, так как эти две формулы ищут действительно пустые ячейки. Для обработки формул, которые выводят "" , у вас есть два варианта:


  • Если вы всегда знаете размер своего диапазона, вы можете использовать одно из следующих:

    =IF( COUNTBLANK(BM2:BQ2)=5, "", "Major Milestone Due")
    =IF( COUNTIF(BM2:BQ2,"")=5, "", "Major Milestone Due")

    где 5 - размер вашего диапазона. Этот метод не работает с динамическими диапазонами.


  • Немного более сложная формула (по крайней мере, более сложная для объяснения!) использует SUMPRODUCT:

    =IF( SUMPRODUCT(--(BM2:BQ2<>""))=0, "", "Major Milestone Due")


(Обратите внимание, что COUNTIF(BM2:BQ2,"<>") имеет ту же проблему, что и COUNTA .)

-1

Я прибыл на эту страницу в поисках ответа на почти идентичный вопрос.

Когда я увидел, что упоминается COUNTA , я почти сразу понял, что делать. В несколько ином контексте у меня есть ряд столбцов слева от столбца, который я хочу сказать, not started если все ячейки в одной строке пустые (пустые).

Следующая формула работает для меня.

=IF(COUNTA(P3:U3)=0,"Not Started"...)

Многоточие указывает на то, что в моей формуле есть несколько дополнительных функций IF , которая выполняет дальнейшие проверки диапазона, если заполнена одна или несколько.

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