Возврат значения на основе нескольких раскрывающихся ячеек - PullRequest
0 голосов
/ 30 января 2020

Я взял файл и хочу, чтобы ячейка «Текущее состояние» автоматически заполнялась на основе выбранных выпадающих ячеек. Так что, если все выпадающие списки «N / A», я хочу вернуть статус «N / A». Если все «Завершено», верните статус «Завершено». И затем также смешайте: если некоторые из них «Complete», а некоторые «In Progress», верните «In Progress».

  • Если все пусто, возвращает пустое
  • Все не Запущено, возвращает «Не начато» (ER1 в формуле ниже)
  • Все выполнено, возвращается «Завершено» (ER3 в формуле ниже)
  • Все не применимо, возвращает N / A (ER4 в формуле ниже)
  • Если они помечены как Выполняется / Завершено / Нет данных, возвращается В процессе (ER2 в приведенной ниже формуле)

Наша текущая формула такова:

=IF(AND(ISBLANK(DV4),ISBLANK(DW4),ISBLANK(DX4),ISBLANK(DY4),ISBLANK(DZ4),ISBLANK(EA4),ISBLANK(EB4),ISBLANK(EC4),ISBLANK(ED4),ISBLANK(EE4),ISBLANK(EF4),ISBLANK(EG4),ISBLANK(EH4),ISBLANK(EI4),ISBLANK(EJ4),ISBLANK(EK4),ISBLANK(EL4),ISBLANK(EM4),ISBLANK(EN4),ISBLANK(EO4))," ",IF(AND(DV4=$ER$3,DW4=$ER$3,DX4=$ER$3,DY4=$ER$3,DZ4=$ER$3,EA4=$ER$3,EB4=$ER$3,EC4=$ER$3,ED4=$ER$3,EE4=$ER$3,EF4=$ER$3,EG4=$ER$3,EH4=$ER$3,EI4=$ER$3,EJ4=$ER$3,EK4=$ER$3,EL4=$ER$3,EM4=$ER$3,EN4=$ER$3,EO4=$ER$3),"COMPLETE",IF(AND(DV4=$ER$4,DW4=$ER$4,DX4=$ER$4,DY4=$ER$4,DZ4=$ER$4,EA4=$ER$4,EB4=$ER$4,EC4=$ER$4,ED4=$ER$4,EE4=$ER$4,EF4=$ER$4,EG4=$ER$4,EH4=$ER$4,EI4=$ER$4,EJ4=$ER$4,EK4=$ER$4,EL4=$ER$4,EM4=$ER$4,EN4=$ER$4,EO4=$ER$4),"N/A",(IF(OR(DV4=$ER$2,DW4=$ER$2,DX4=$ER$2,DY4=$ER$2,DZ4=$ER$2,EA4=$ER$2,EB4=$ER$2,EC4=$ER$2,ED4=$ER$2,EE4=$ER$2,EF4=$ER$2,EG4=$ER$2,EH4=$ER$2,EI4=$ER$2,EJ4=$ER$2,EK4=$ER$2,EL4=$ER$2,EM4=$ER$2,EN4=$ER$2,EO4=$ER$2,DV4=$ER$3,DW4=$ER$3,DX4=$ER$3,DY4=$ER$3,DZ4=$ER$3,EA4=$ER$3,EB4=$ER$3,EC4=$ER$3,ED4=$ER$3,EE4=$ER$3,EF4=$ER$3,EG4=$ER$3,EH4=$ER$3,EI4=$ER$3,EJ4=$ER$3,EK4=$ER$3,EL4=$ER$3,EM4=$ER$3,EN4=$ER$3,EO4=$ER$3),"IN PROGRESS",IF(OR(DV4=$ER$1,DW4=$ER$1,DX4=$ER$1,DY4=$ER$1,DZ4=$ER$1,EA4=$ER$1,EB4=$ER$1,EC4=$ER$1,ED4=$ER$1,EE4=$ER$1,EF4=$ER$1,EG4=$ER$1,EH4=$ER$1,EI4=$ER$1,EJ4=$ER$1,EK4=$ER$1,EL4=$ER$1,EM4=$ER$1,EN4=$ER$1,EO4=$ER$1),"NOT STARTED","IN PROGRESS"))))))

Что работает, но я хочу сделать его чище и легче изменить в будущем. Вместо того, чтобы выбирать каждую отдельную ячейку и делать операторы If / OR / AND для каждой. Я пытался использовать MATCH, но это, кажется, учитывается, только если 1 из ячеек в массиве является правильным, а не если они все совпадают. Я подумал, может быть, я мог бы использовать EXACT, а затем True / False с ним, но Exact, похоже, проверяет только 2 указанные c ячейки, а не строку. Мой поиск в Google привел меня к массиву формул, но я не мог заставить их работать. Я думал, что, возможно, сработает, если просто использовать IF (A1: A9,) и завершить формулу, но, похоже, это тоже не так.

Спасибо

Редактировать: Пример таблицы enter image description here

1 Ответ

2 голосов
/ 30 января 2020

Я считаю, что это удовлетворит:

=IF(COUNTA(B2:F2)=0,"",IF(COUNTIF(B2:F2,B2)=COLUMNS(B2:F2),B2,"In Progress"))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...