#ЦЕННОСТИ!при использовании IF и OR вместе - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть файл в следующем формате


Имя Номер Позиция
A 1
B 2
C 3
D 4

Теперь на position A3 я применил =IF(B2=1,"Goal Keeper",OR(IF(B2=2,"Defender",OR(IF(B2=3,"MidField","Striker")))))
Но это выдает мне ошибку # значение!
Посмотрел на Google, и моя формула верна.
Что я в основном хочу?
1- Вратарь 2-Защитник 3-Полузащитник 4-Страйкер
Да, другой способ - просто отфильтроватьномер и копию вставьте текст
Но я хочу сделать это с помощью формулы и хочу знать, где я ошибся.

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Если вам действительно нужно решить проблему с помощью функции IF и OR в одном уравнении, это единственный способ, которым я могу увидеть, как:

=IF(OR(B1=1, B1 = 2, B1 = 3, B1 = 4),IF(B1 = 1, "Goal Keeper", IF(B1 = 2,"Defender",IF(B1 = 3,"MidField","Striker")))

Если B1 не равно 1-4, функция OR вернет FALSE и полностью пропустит все вложенные операторы IF.

0 голосов
/ 09 февраля 2019

Ваша непосредственная проблема связана с выражением (например):

OR(IF(B2=3,"MidField","Striker"))
   |  \__/ \________/ \_______/ |
   |  bool   string    string   |
   \____________________________/
               string

Функция OR ожидает серию логических значений (true или false), и выдавая ему значение string из внутреннего IF.

На самом деле не нужно or битов в этом конкретном случае, ifполный if-else.Таким образом, вы можете просто использовать:

=IF(B1=1,"Goal Keeper",IF(B2=2,"Defender",IF(B2=3,"MidField","Striker")))

Это означает, что B1=1 приведет к "Goal Keeper", в противном случае он будет оценивать IF(B2=2,"Defender",IF(B2=3,"MidField","Striker")).

Тогда , что означает, что, если B2=2, это приведет к "Defender", в противном случае оно будет оценивать IF(B2=3,"MidField","Striker").

Наконец, это означает, что B2=3 приведет к "MidField", все остальное даст "Striker".

Единственная ситуация, которую я могу предусмотреть, когда OR пригодится, это когда два разных числа генерируют одну и ту же строку.Допустим, и 1 , и 4 должны дать "Goalie", вы можете использовать:

=IF(OR(B1=1,B1=4),"Goalie",IF(B2=2,"Defender","MidField"))

Имейте в виду, что более общее решение будет лучше реализованос помощью функций поиска в Excel, которые будут выполнять поиск в таблице (где-то в электронной таблице), которая отображает целые числа в строки.Затем, если необходимо изменить отображение, вы просто обновите таблицу, а не вернетесь назад и измените формулу в каждой строке.

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