Несколько операторов If Or And - PullRequest
0 голосов
/ 09 марта 2019

Я собираюсь связать воедино несколько разных If (или (и операторов). В основном, чтобы разделить алфавит на 3 разных раздела для одного из требований и. A-G, H-M & N-Z Мой первый (показанный ниже) работает нормально. Дает мне желаемый результат, когда Е4 соответствует одному из требований буквенных требований;

= ЕСЛИ (ИЛИ ((И (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "А"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "В"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "C"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "D"), и (В4 = "Оперативный", ЛЕВЫЙ (Е4 , 1) = "Е"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "Р"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "G")), «Операции База данных 1 A-G "," ")

Затем я попытался пометить другой оператор if (или (And) и получил ошибку #value.

= ЕСЛИ (ИЛИ ((И (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "А"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "В"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "C"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "D"), и (В4 = "Оперативный", ЛЕВЫЙ (Е4 , 1) = "Е"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "Р"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "G")), «Операции База данных 1 АГ», ""), ЕСЛИ (ИЛИ (И (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "Н"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "Я") И (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "J"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "К"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "L"), и (В4 = "Оперативный", ЛЕВЫЙ (E4,1) = "М")), "Операции База данных 1 Н-М "," "))

Есть мысли?

1 Ответ

2 голосов
/ 09 марта 2019

Ваша оригинальная формула может быть значительно уменьшена. Вот два примера.

=IF(AND(B4="Operational", CODE(LEFT(E4))>=65, CODE(LEFT(E4))<=71), "Operations Database 1 A-G", "")
=IF(AND(B4="Operational", OR(LEFT(E4)={"A","B","C","D","E","F","G"})), "Operations Database 1 A-G", "")

Это значительно упрощает добавление новых условий в приведенные выше формулы.

=IF(AND(B4="Operational", CODE(LEFT(E4))>=65, CODE(LEFT(E4))<=71), "Operations Database 1 A-G", IF(AND(B4="Operational", CODE(LEFT(E4))>=72, CODE(LEFT(E4))<=77), "Operations Database 1 H-M", ""))
=IF(AND(B4="Operational", OR(LEFT(E4)={"A","B","C","D","E","F","G"})), "Operations Database 1 A-G", IF(AND(B4="Operational", OR(LEFT(E4)={"H","I","J","K","L","M"})), "Operations Database 1 H-M", ""))

Дальнейшая консолидация может быть достигнута путем поиска в статических массивах.

=IF(B4="Operational", "Operations Database 1 "&INDEX({"A-G","H-M","N-Z"}, MATCH(LEFT(E4), {"A","H","N"})), "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...