Операторы Excel IF с 3 условиями, если a=true, b=true и c=true, то d1 = «»

#excel #excel-formula

Вопрос:

Я хочу создать формулу excel, чтобы я мог проверить 3 столбца и, если они верны, затем установить новое значение для 4-го столбца.

У меня есть эта формула:

 =IF(AND(A1="ALFA ROMEO"; B1="159"; C1="55");D1="2016";D1="")
 

и я хочу проверить, верны ли A1, B1 и C1, а затем установить D1 равным определенному значению.

*Я пробовал много сложных способов добиться этого, но эта формула-единственная, которая не выдает ошибку, но все равно возвращает значение FALSE(не в D1, а в ячейке, которую я попробовал). Я также пробовал разделяться запятыми и т. Д…

Какая — нибудь возможная помощь или способ, которым я мог бы добиться проверки?

Ответ №1:

Это должно исходить из цитаты («») вокруг номера, который я попробовал

=SI(ET(A1=»АЛЬФА РОМЕО»;B1=159;C1=55);2016;»»)

и это сработало для меня (извините, это по-французски).

Возможно, попробуйте изменить формат ячейки из столбцов B и C. А также поместите формулу в ячейку D1 или в ячейку, в которой вы хотите получить значение.

Комментарии:

1. Грег, большое тебе спасибо за твой вклад,: D это было очень полезно, не отставай!

2. Я нашел документацию по формулам здесь: support.microsoft.com/en-us/office/…

Ответ №2:

Вы почти на месте, но вам нужно поместить эту формулу здесь, в ячейку D1, чтобы заполнить значение D1:

 =IF(AND(A1="ALFA ROMEO", B1=159, C1=55),2016,"")
 

Не обращайте внимания: в моем регионе я работаю с запятыми, в то время как вы, возможно, работаете с точками с запятой, поэтому ваша фактическая формула может быть (в ячейке D1):

 =IF(AND(A1="ALFA ROMEO"; B1=159; C1=55);2016;"")
 

Кроме того, нет необходимости помещать числовые значения (159, 55) в виде строк, как вы можете видеть.

Правка: о превращении B1 в строку:

Я только что создал эту формулу:

 =IF(TEXT(B1,"0")="159","TRUE","FALSE")
 

Это позволяет конвертировать B1 в текст.

Таким образом, ваша формула может превратиться во что-то вроде:

 =IF(AND(A1="ALFA ROMEO", TEXT(B1, "0")="159", TEXT(C1,"0")="55"),2016,"")
 

(Опять же, обратите внимание на настройки локали (запятые и точки с запятой))

Комментарии:

1. Это сработало идеально, но как я могу заставить это работать, даже если я включаю кавычки при использовании значения INT?

2. @PeriklisKakarakidis: Я соответствующим образом отредактировал свой вопрос. По-видимому, для преобразования обычного числа в текст вы можете использовать TEXT(...) функцию, используя "0" в качестве спецификатора формата.

3. спасибо вам за вашу помощь, сейчас все работает идеально!