1

Я пытаюсь вложить несколько столбцов в оператор If, который использует функции And и Or. Я до сих пор не могу придумать функцию, которая работает.

Правила:

  • Если Act Conf Years ИЛИ Act Conf Months> 0, выведите "Confinement"
  • Если Act Prob Лет или OR Act Prob Месяцы> 0, выведите "Испытание"
  • Если (Act Conf Years ИЛИ Act Conf месяцев,> 0) И (Act Prob лет, ИЛИ Act Prob месяцы> 0), выведите "Both"

Формула, которую я придумал, была:

IF(OR(D3>0,E3>0),"Confinement",IF(OR(G3>0,H3>0),"Probation",IF(OR(D3>0,E3>0,AND(G3>0,H3>0),"Both"))

Однако это не работает. Я знаю, что проблема находится где-то в части после "Испытания". Но я не уверен, как правильно сложить функции OR и AND.

Кроме того, можно ли это как-то сделать с помощью Power Query, Power Pivot или какого-либо другого дополнения?

3 ответа3

1

Ваше третье ("Оба") условие содержит два оператора ИЛИ (и И). Ваша формула не включала второе ИЛИ.

Вы хотите AND( OR (), OR() )

До:

IF(OR(D3>0,E3>0),"Confinement",
IF(OR(G3>0,H3>0),"Probation",
IF(OR(D3>0,E3>0,AND(G3>0,H3>0),"Both"))

После:

IF(OR(D3>0,E3>0),"Confinement",
IF(OR(G3>0,H3>0),"Probation",
IF(AND(OR(D3>0,E3>0),OR(G3>0,H3>0)),"Both")))
0

Альтернативная версия, без AND

IF(OR(D3>0, E3>0), IF(OR(G3>0, H3>0), "Both", "Confinement"),
   IF(OR(G3>0, H3>0), "Probation", ))

Логика такова:

  • Если Conf, (Если Prob (тоже), то "Оба", иначе это просто "Конфайнмент"),
  • Если Проб, то "Пробация", (необязательно: еще "Нет")

Где Conf is (Act Conf Years> 0 ИЛИ Act Conf Conf Months> 0) Вероятность (Act Act Years> 0 ИЛИ Act Act Prob Months> 0)

Вы можете сделать это проще, заменив часть OR временными переменными Conf и Prob (да, алгебра работает и в логике)

0

Если в ваших данных невозможно «ни удержание, ни пробация», вы можете использовать более простую формулу.

=IF(D3+E3>0,IF(G3+H3>0,"Both","Confinement"),"Probation")

Если возможно, что запись не показывает ни заключения, ни испытательного срока, вы можете использовать эту формулу:

=IF(D3+E3>0,IF(G3+H3>0,"Both","Confinement"),IF(G3+H3>0,"Probation","Neither"))

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