×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Are you an
Engineering professional?
Join Eng-Tips Forums!
• Talk With Other Members
• Be Notified Of Responses
• Keyword Search
Favorite Forums
• Automated Signatures
• Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

#### Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

# Try to use CHOOSE instead of IF4

## Try to use CHOOSE instead of IF

2
(OP)
Nothing drives one crazy than a series of IF inside an IF. But we usually start with Fortran and Basic programming before going into spreadsheet programming. By default, we love the IF(       )

I find the CHOOSE function in Excel a very useful tool. Those who havent tried, try it and those who have used it creatively lets learn more from you

Regards

IJR

### RE: Try to use CHOOSE instead of IF

Couild you send a example?

### RE: Try to use CHOOSE instead of IF

2
Example:

=IF(A1=1,"one",IF(A1=2,"two",IF(A1=3,"three",">three")))

use the "choose" function:

=Choose(A1,"one","two","three")

The problem with the choose statement is that (as far as I know), if you enter a number > 3 into cell A1, you get a #VALUE error in the choose cell.  You can of course remidy this with a conditional statement (assuming no zero or negative numbers are to be entered):

=IF(A1<=3,Choose(A1,"one","two","three"),">three")

Hope this helps.

### RE: Try to use CHOOSE instead of IF

Hi IRJ

I have developed this function in VBA (like select case in VBA)

Public Function FindCase(TxtStr, TxtDefaultValue, ParamArray VarAnsArray())

Dim i As Integer
FindCase = TxtDefaultValue

For i = 0 To UBound(VarAnsArray) - 1 Step 2
If TxtStr = VarAnsArray(i) Then
FindCase = VarAnsArray(i + 1)
Exit Function
End If
Next
End Function

we can use like this
=FINDCASE(A1,1,"A",1,"A2L",2,"A2S",1,"A4S",2)
IF cell A1 CONTAIN "A" RESULT WILL BE 1 (3rd & 4th arguments)
IF A1 CONTAIN "A2L" RESULT WILL BE 2(5th & 6th)
IF A1 CONTAIN "A2S" RESULT WILL BE 1(7th & 8th)
IF A1 CONTAIN "A4S" RESULT WILL BE 2(9th & 10th)
ELSE RESULT WILL BE 1 (second argument)

I tried to developed similer to select case statments in VBA

I have tried with string argument & it work OK.

Nitin Patel
India

### RE: Try to use CHOOSE instead of IF

Thank you IJR & jproj!

I've been looking for this type of function for a LONG time.
Verrry cool.

#### Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

#### Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Close Box

# Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

• Talk To Other Members
• Notification Of Responses To Questions
• Favorite Forums One Click Access
• Keyword Search Of All Posts, And More...

Register now while it's still free!