Використання оператора IF та ISBLANK для визначення діапазону комірок, якщо будь-яка з них містить інформацію в них


10

У мене є формула, в якій я перевіряю, чи немає у них комірок, чи є вони чи ні.

Якщо всі вони порожні, я хочу повернути ще одне.

Якщо будь-яка комірка діапазону не порожня, я хочу повернути значення Major Milestone Due.

Ось формула, яку я маю на даний момент:

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

Це повертає все так само Major Milestone Due, навіть якщо є певні діапазони рядків із усіма порожніми клітинками.

Відповіді:


16

COUNTAдасть кількість комірок у діапазоні, який не порожній .

Тож спробуйте ...

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

Основна формула: NOT (COUNTA (BM2: BQ2)) застосовна для більш логічних операторів, таких як: AND (COUNTA (BN2), NOT (COUNTA (BM2: BQ2)))
Rhak Kahr

9

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

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")}
Маркус Х'юз

@MarcusHughes чому б це було? Це формула масиву і працює над усім масивом
Raystafarian

Я точно не знаю, чому саме так, але я протестував це (Excel 2010), і він не працює просто ISBLANK. Спробуйте ввести цю формулу, збережіть першу комірку в діапазоні порожньою, а потім введіть дані в пізнішу комірку в діапазоні .... ISBLANKУмова все одно повернеться TRUE. Тільки якщо ви введете дані в першу клітинку, вони повернуться FALSEправильно. Тепер спробуйте додати AND. Якщо будь-яка комірка в діапазоні отримує до неї дані, вона повертається FALSEяк слід. (Я припускаю, що це не просто якийсь дивний флейк з 2010 року.)
Маркус Хьюз

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у моїй формулі є кілька додаткових функцій, які виконують подальші тести на дальність, якщо одна чи декілька заповнені.


Ласкаво просимо до Супер Користувача. Помітив, що ваша відповідь привернула голос. Ймовірна причина полягає в тому, що ми намагаємося уникати дублювання. Кожна відповідь має на меті забезпечити рішення, яке суттєво відрізняється від того, що вже було внесено. Це по суті дублює другу частину відповіді Райстафаріана.
fixer1234

Мою відповідь слід було б подати як коментар.
Девід А. Грей
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.