Solved

Excel =If(ISBLANK) with 4 columns

Posted on 2013-11-12
7
253 Views
Last Modified: 2013-11-16
Hi,

I have an existing formula in C that puts the number in Cell A into Cell C if B is blank. otherwise it puts B into C

What I need is a formula in Column D that puts A into D if B and C are blank, or puts B into D if C is blank, otherwise, it puts C into D.

In other words here is what should be in D for each row:

A    B      C      D
5                     5
5    6               6
      4               4
              3       3
2   3       1       1

It was easy with only 3 columns using =IF(ISBLANK(B121),A121,B121) but I haven't found an example using 4 columns.

Thanks in advance,

swjtx99
0
Comment
Question by:swjtx99
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 22

Assisted Solution

by:Flyster
Flyster earned 167 total points
ID: 39643630
Would a nested IF statement work for you:

=IF(B121&C121="",A121,IF(C121="",B121,C121))

Flyster
0
 
LVL 50

Expert Comment

by:Rgonzo1971
ID: 39643755
Hi,

With this formula you can have as many columns as you want
=INDEX(A2:C2,1,MAX((A2:C2<>"")*(COLUMN(A2:C2))))

Open in new window


Enter as Array Formula Ctrl-Shift-Enter

Regards
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 39643822
If you do not like array formulas then try

=INDEX(A121:C121,LOOKUP(2,1/A121:C121,COLUMN(A121:C121)))
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 85

Assisted Solution

by:Rory Archibald
Rory Archibald earned 166 total points
ID: 39644169
If your data are all numeric:

=lookup(1E100,A1:D1)

and copy down.
0
 

Author Comment

by:swjtx99
ID: 39644766
Thanks for all the suggestions.

=IF(B121&C121="",A121,IF(C121="",B121,C121))

From Flyster - This one works.

=INDEX(A2:C2,1,MAX((A2:C2<>"")*(COLUMN(A2:C2))))

From Rgonzo Thanks but I can't use an array on this sheet

=INDEX(A121:C121,LOOKUP(2,1/A121:C121,COLUMN(A121:C121)))

From ssabqih works but when I start inserting columns and the column with the formula shifts (say from D to E) the formula breaks. Looks like it has something to do with the "LOOKUP(2,1/" part ?

=lookup(1E100,A1:D1)

From rorya. When I used it, it kept changing to =lookup(1E+100,A1:D1 and appeared to be summing all rows.
0
 
LVL 50

Accepted Solution

by:
barry houdini earned 167 total points
ID: 39644812
Rory's formula works for me. If you put the formula in E1

=LOOKUP(1E+100,A1:D1)

it will give you the last numeric value in A1:D1....which seems to be what you want

regards, barry
0
 

Author Closing Comment

by:swjtx99
ID: 39653209
Hi,

I did also find that Rory's formula works. As both Rory's and Flyster's seem to work equally well I have split the points.

Thanks very much for the assistance.

swjtx99
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question