Я работаю над проблемой Excel, которая заполняет отдельный столбец на основе условных ответов нескольких (3) столбцов да / нет. Конкретно я пытаюсь работать с сочетанием вариантов. Эти 3 варианта:

  • CWW
  • сгибать
  • телевизионный

Вы можете выбрать 1, 2 или все 3 из этих опций.

Мой рабочий лист:

Мой скриншот

Мой код, который неуверенно удовлетворяет мою проблему.

=IF(AND(B2="NO",B2=C2,B2=D2),"NO-FLEX",IF(AND(B2="YES",B2=C2,B2=D2),"Full match",IF(AND(B2="Yes",C2="Yes"),"CWW-FLEX",IF(AND(B2="Yes",D2="Yes"),"CWW-TELE",IF(AND(C2="Yes",D2="Yes"),"FLEX-TELE",IF(AND(B2="NO",C2="NO"),"TELE-ONLY",IF(AND(B2="NO",D2="NO"),"FLEX-ONLY",IF(AND(C2="NO",D2="NO"),"CWW-ONLY",IF(AND(B2="YES",C2="",D2=""),"CWW-ONLY",IF(AND(C2="YES",B2="",D2=""),"FLEX-ONLY",IF(AND(D2="YES",B2="",C2=""),"TELE-ONLY",IF(AND(B2="NO",C2="YES",D2=""),"FLEX-ONLY",IF(AND(B2="NO",C2="",D2="YES"),"TELE-ONLY",IF(AND(D2="NO",B2="",C2="YES"),"FLEX-ONLY",IF(AND(B2="",C2="NO",D2="YES"),"TELE-ONLY",IF(AND(B2="YES",C2="",D2="NO"),"CWW-ONLY",IF(AND(B2="YES",C2="NO",D2=""),"CWW-ONLY",)))))))))))))))))

До сих пор мне удалось создать большой оператор IF(AND) который, по большей части, заполняет столбец правильным индикатором, основанным на комбинации выборов.

Это решение не элегантно, и может быть способ упростить мою растущую формулу IF(AND) . Кто-нибудь может помочь? Буду очень признателен за любые советы.

1 ответ1

1

Я думаю, что лучшим способом было бы использовать функцию CHOOSE() :

=CHOOSE(1+1*(UPPER(B2)="YES")+2*(UPPER(C2)="YES")+4*(UPPER(D2)="YES"),"n/a","CWW-ONLY","FLEX-ONLY","CWW-FLEX","TELE-ONLY","CWW-TELE","FLEX-TELE","Full match")

Я установил вывод для случая, когда нет YES с n/a просто чтобы формула была проще для понимания. Замените "n/a" в формуле на это:

CHOOSE(1+1*(UPPER(B2)="NO")+2*(UPPER(C2)="NO")+4*(UPPER(D2)="NO"),"n/a","n/a","n/a","TELE-ONLY","n/a","FLEX-ONLY","CWW-ONLY","NO-FLEX")

Объединенная формула будет корректно определять любую смесь символов верхнего и нижнего регистра для NO и YES и рассматривать все остальное как пустое:

=CHOOSE(1+1*(UPPER(B2)="YES")+2*(UPPER(C2)="YES")+4*(UPPER(D2)="YES"),CHOOSE(1+1*(UPPER(B2)="NO")+2*(UPPER(C2)="NO")+4*(UPPER(D2)="NO"),"n/a","n/a","n/a","TELE-ONLY","n/a","FLEX-ONLY","CWW-ONLY","NO-FLEX"),"CWW-ONLY","FLEX-ONLY","CWW-FLEX","TELE-ONLY","CWW-TELE","FLEX-TELE","Full match")

Объяснение:

Каждая из этих двух частей работает как двоичный цифровой мультиплексор, а вся формула действует как тройной множитель.

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