У меня есть формула, где я проверяю диапазон ячеек, являются ли они пустыми или нет.
Если все они не заполнены, я хочу вернуть еще один бланк.
Если любая из ячеек в диапазоне не пуста, я хочу вернуть значение Major Milestone Due
.
Вот формула, которую я в настоящее время имею:
=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")
Он возвращает все как Major Milestone Due
, даже если есть определенные диапазоны строк со всеми пустыми ячейками.
microsoft-excel
вереск
источник
источник
Ваша формула верна, если она введена как формула массива .
Он
isblank
не работает для массива, если вы не введете его как формулу массива с помощью ctrl+ shift+ enter. Это будет выглядеть при наличии фигурных скобок:{=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")}
Кроме того, если - Counta сделает это без проблем, а также -
=IF(COUNTA(BM2:BQ2)=0,"","Major Milestone Due")
источник
TRUE
к тому,FALSE
если первая ячейка в диапазоне содержит значение. Чтобы правильно проверить все ячейки в диапазоне,AND
необходимо добавить -{=IF(AND(ISBLANK(BM2:BQ2)),"","Major Milestone Due")}
ISBLANK
. Попробуйте ввести эту формулу, оставьте первую ячейку в диапазоне незаполненной, затем введите данные в более позднюю ячейку в диапазоне ....ISBLANK
Условие все равно вернетсяTRUE
. Только если вы введете данные в первую ячейку, они вернутсяFALSE
правильно. Теперь попробуйте добавитьAND
. Если какая-либо ячейка в диапазоне получает данные, добавленные к ней, она вернетсяFALSE
как следует. (Я предполагаю, что это не просто какая-то странная случайность с 2010 годом.)Важная вещь, которую следует учитывать, - это ваше определение «пусто». Исходя из того факта, что вы использовали формулировку «Я хочу вернуть еще один пробел», может показаться, что вы определяете «пробел» как ячейки, которые выглядят пустыми, но которые на самом деле могут содержать формулу, которая выводит
""
и, следовательно, не является пустой ,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
.)источник
Я пришел на эту страницу в поисках ответа на почти идентичный вопрос.
Когда я увидел, что
COUNTA
упомянуто, я почти сразу понял, что делать. В немного ином контексте у меня есть диапазон столбцов слева от столбца, который я хочу сказать,not started
если все ячейки в одной строке пустые (пустые).Следующая формула работает для меня.
Многоточие указывает, что
IF
в моей формуле есть несколько дополнительных функций, которые выполняют дополнительные проверки диапазона, если заполнена одна или несколько.источник