Почему эта функция IF, OR и AND не возвращает TRUE в A848?

Смотрите изображение ниже, чтобы посмотреть снимок экрана.

Я использую этот алгоритм для поиска "not" и "valid", "not valid" и "invalid" в столбце colF-Body. Учитывая, что одно из этих слов существует в colF-Body, если colD-Change в адресе равно TRUE, я хочу, чтобы алгоритм возвращал FALSE, а если FALSE - TRUE.

Почему этот подход возвращает FALSE в обоих случаях?

Формула вводится в colA - INVALID

=IF(OR(
  AND( ISNUMBER( SEARCH(" not ",F2)+SEARCH(" valid",F2)), D848= "FALSE" ),
  AND( ISNUMBER( SEARCH("not valid",F2) ), D848 = "FALSE" ),
  AND( ISNUMBER( SEARCH("invalid",F2) ), D848 = "FALSE" )
),"TRUE","FALSE")

http://i.imgur.com/RjvVKwY.jpg

1 ответ1

1

Задача решена! Excel интерпретирует ячейки FALSE и TRUE, даже если они введены как строки, как логические выражения. Когда я помещал кавычки вокруг FALSE, это приводило в замешательство Excel и не регистрировало логическую логику. Когда я вынул кавычки, он вел себя как ожидалось - возвращал TRUE, когда только FALSE.

Упрощенная логика:

=IF( AND( ISNUMBER( SEARCH("invalid",F849)), D849=FALSE), "TRUE", "FALSE")

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