Aninhando instruções If e Or

1

Estou tentando aninhar várias colunas em uma instrução If que utiliza as funções And e Or. Eu sou tão incapaz de criar uma função que funcione.

Regras:

  • Se você agir com anos ou se agir com meses > 0 saída "Confinamento"
  • Se os anos do Prob Probable OU o Prob Probe dos meses > 0 então saída "Probation"
  • Se (Act. Conf. anos OU Act. Conf. meses > 0) E (Act. Prov. anos OU Act. Prob. Meses > 0), em seguida, emita "Ambos"

A fórmula que eu tirei foi:

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"))

No entanto, isso não funciona. Eu sei que o problema está em algum lugar na parte depois de "Probation". Mas não tenho certeza de como empilhar adequadamente as funções OR e E.

Como alternativa, isso pode ser feito com Power Query, Power Pivot ou algum outro add on?

    
por JackOfTales 18.04.2017 / 17:07

3 respostas

0

Se "Nenhum confinamento nem aprovação" for impossível em seus dados, você poderá usar uma fórmula mais simples.

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

Se for possível que o registro não mostre confinamento nem liberdade condicional, você pode usar esta fórmula:

=IF(D3+E3>0,IF(G3+H3>0,"Both","Confinement"),IF(G3+H3>0,"Probation","Neither"))
    
por 18.04.2017 / 18:02
1

Sua terceira condição ("Both") contém duas instruções OR (e um AND). Sua fórmula não incluiu o segundo OR.

Você quer AND( OR (), OR() )

Antes:

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"))

Depois:

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")))
    
por 18.04.2017 / 17:20
0

Versão alternativa, sem AND

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

A lógica é:

  • Se Conf, (Se Prob (também), então "Both", senão é apenas "Confinement"),
  • Se Prob, então "Probation", ( opcional : else "None")

Onde Conf é (Act Conf Years > 0 ou Act Conf Months > 0) Prob é (Act Prob Years > 0 OU Act Prob Months > 0)

Você pode simplificar substituindo a parte OR pela variável temporária Conf e Prob (sim, a álgebra também funciona na lógica)

    
por 18.04.2017 / 17:40