Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Conversion of Excel three nested IF statement to Alteryx

Hamster
7 - Meteor

I have the follow Excel IF statement that I need translated in Alteryx.

=IF(H6="CASH",IF(AB6<0,"CRO","CGO"),IF(AB6<0,"ORO","OGO")).

 

I've been able to get this far but it's returning a Parse Error at Char(135).

IF [A]='CASH' THEN (IF [B]<0 THEN 'CRO' ELSE 'CGO'
endIF)
else
(if [B]<0 THEN 'ORO' ELSE 'OGO' endIF)

 

Any help would be appreciated.

5 REPLIES 5
BrandonB
Alteryx
Alteryx

I think that something like this might work for you

 

IF [A]='CASH' AND [B]<0

THEN 'CRO'

ELSEIF IF [A]='CASH' AND [B]>=0

THEN 'CGO'

ELSEIF [AB]<0

THEN 'ORO'

ELSE 'OGO'

ENDIF

PaulNo
10 - Fireball

Hi @Hamster,

 

You have done all the work so congrats!

 

You are missing the "endif" to match the initial "if" 🙂

 

Thanks,

 

PaulN

Hamster
7 - Meteor

Hi PaulN

 

If I add the EndIF after the last ')' I get another error message saying Invalid type in operator <.

This is the formula now.

IF [a]='CASH' THEN (IF [b]<0 THEN 'CRO' ELSE 'CGO'
endIF)
else
(if [b]<0 THEN 'ORO' ELSE 'OGO' endIF) endif

RolandSchubert
16 - Nebula
16 - Nebula

Hi @Hamster ,

 

I think, it's a data type related problem - is [b] a numeric field (INT, DOUBLE)? Using ToNumber([b]) should solve this.

 

Try:

IF [a]='CASH' THEN
   IF ToNumber([b]) < 0 THEN
      'CRO'
   ELSE
      'CGO'
   ENDIF
ELSE
   IF ToNumber([b]) < 0 THEN
      'ORO'
   ELSE
      'OGO'
   ENDIF
ENDIF

 

Btw: The brackets are not needed, 

 

Let me know if it works for you now.

 

Best,

 

Roland

Hamster
7 - Meteor

Thanks Roland - [b] was a calculated field but had String as it's data type, changing this to double fixed my formula.

Labels