ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   IF statement with multiple VLOOKUPs (https://www.excelbanter.com/excel-programming/451137-if-statement-multiple-vlookups.html)

dakota park

IF statement with multiple VLOOKUPs
 
I have a table with the top row headers (classifications) of "LOW," "MIDDLE," "MODERATE," "UPPER," & "UNKNOWN." Under each are random (identification) numbers (e.g. under "LOW" there may be 1103, 1105, 1107.1, 1108.2, etc.).

On the subject chart, I have a column of account numbers, a column of corresponding identification numbers, and then the classification. What I am having trouble building, is an if statement with a vlookup which will return the matching classification.

An example of the formula I could use to get a returning "MIDDLE" value if the identification matches that classification is this:

=IF(VLOOKUP(B2,'Categories (2)'!B:B,1,FALSE)=B2,"MIDDLE", "NOT FOUND")

B2 refers to the subject chart's identification numbers, and the categories worksheet column B is the column associated with the "MIDDLE" classification and the identification numbers below it.

I want to build an if statement that will return the classification and search all columns of the 1st chart.

This was my closest guess, but it only searches the "MIDDLE" column, and only returns a value if it is a "MIDDLE" match:

=IF(VLOOKUP(B2,'Categories (2)'!B:B,1,FALSE)=B2,"MIDDLE",IF(VLOOKUP(B2,'Categ ories (2)'!$D$1:$D$96,1,FALSE)=B2,"UPPER",IF(VLOOKUP(B2, 'Categories (2)'!$C$1:$C$55,1,FALSE)=B2,"MODERATE",IF(VLOOKUP( B2,'Categories (2)'!$A$1:$A$21,1,FALSE)=B2,"LOW",IF(VLOOKUP(B2,'C ategories (2)'!$E$1:$E$4,1,FALSE)=B2,"UNKNOWN","NOT FOUND")))))

For every "MIDDLE" match, it returns "MIDDLE," but for everything else, I receive back "#N/A."

Any help would be thoroughly appreciated! Thanks!

Peter T[_7_]

IF statement with multiple VLOOKUPs
 
If I follow, adapt your formula like this

=If(IsError(mylookup1)=FALSE, "MODERATE",
If(IsError(mylookup2)=FALSE, "UPPER",
If(IsError(...etc

If you flip the True/False arg's you could dispense with the respective
=FALSE, though maybe harder to read

Regards,
Peter T


"dakota park" wrote in message
...
I have a table with the top row headers (classifications) of "LOW,"
"MIDDLE," "MODERATE," "UPPER," & "UNKNOWN." Under each are random
(identification) numbers (e.g. under "LOW" there may be 1103, 1105, 1107.1,
1108.2, etc.).

On the subject chart, I have a column of account numbers, a column of
corresponding identification numbers, and then the classification. What I am
having trouble building, is an if statement with a vlookup which will return
the matching classification.

An example of the formula I could use to get a returning "MIDDLE" value if
the identification matches that classification is this:

=IF(VLOOKUP(B2,'Categories (2)'!B:B,1,FALSE)=B2,"MIDDLE", "NOT FOUND")

B2 refers to the subject chart's identification numbers, and the categories
worksheet column B is the column associated with the "MIDDLE" classification
and the identification numbers below it.

I want to build an if statement that will return the classification and
search all columns of the 1st chart.

This was my closest guess, but it only searches the "MIDDLE" column, and
only returns a value if it is a "MIDDLE" match:

=IF(VLOOKUP(B2,'Categories
(2)'!B:B,1,FALSE)=B2,"MIDDLE",IF(VLOOKUP(B2,'Categ ories
(2)'!$D$1:$D$96,1,FALSE)=B2,"UPPER",IF(VLOOKUP(B2, 'Categories
(2)'!$C$1:$C$55,1,FALSE)=B2,"MODERATE",IF(VLOOKUP( B2,'Categories
(2)'!$A$1:$A$21,1,FALSE)=B2,"LOW",IF(VLOOKUP(B2,'C ategories
(2)'!$E$1:$E$4,1,FALSE)=B2,"UNKNOWN","NOT FOUND")))))

For every "MIDDLE" match, it returns "MIDDLE," but for everything else, I
receive back "#N/A."

Any help would be thoroughly appreciated! Thanks!



Claus Busch

IF statement with multiple VLOOKUPs
 
Hi,

Am Fri, 9 Oct 2015 08:29:40 -0700 (PDT) schrieb dakota park:

I have a table with the top row headers (classifications) of "LOW," "MIDDLE," "MODERATE," "UPPER," & "UNKNOWN." Under each are random (identification) numbers (e.g. under "LOW" there may be 1103, 1105, 1107.1, 1108.2, etc.).

On the subject chart, I have a column of account numbers, a column of corresponding identification numbers, and then the classification. What I am having trouble building, is an if statement with a vlookup which will return the matching classification.


try:

=INDEX('Categories (2)'!A:E,1,MATCH(B2,INDEX('Categories (2)'!A:E,MIN(IF('Categories (2)'!A2:E100=B2,ROW(2:100))),0),0))

and enter the formula with CTRL+Shift+Enter


Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Claus Busch

IF statement with multiple VLOOKUPs
 
Hi Dakota,

Am Fri, 9 Oct 2015 18:35:46 +0200 schrieb Claus Busch:

=INDEX('Categories (2)'!A:E,1,MATCH(B2,INDEX('Categories (2)'!A:E,MIN(IF('Categories (2)'!A2:E100=B2,ROW(2:100))),0),0))


sorry, forgot to handle an error:

=IFERROR(INDEX('Categories (2)'!A:E,1,MATCH(B2,INDEX('Categories (2)'!A:E,MIN(IF('Categories (2)'!A2:E100=B2,ROW(2:100))),0),0)),"Not Found")
and enter the formula with CRTL+Shift+Enter


Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

dakota park

IF statement with multiple VLOOKUPs
 
On Friday, October 9, 2015 at 11:46:51 AM UTC-5, Claus Busch wrote:
Hi Dakota,

Am Fri, 9 Oct 2015 18:35:46 +0200 schrieb Claus Busch:

=INDEX('Categories (2)'!A:E,1,MATCH(B2,INDEX('Categories (2)'!A:E,MIN(IF('Categories (2)'!A2:E100=B2,ROW(2:100))),0),0))


sorry, forgot to handle an error:

=IFERROR(INDEX('Categories (2)'!A:E,1,MATCH(B2,INDEX('Categories (2)'!A:E,MIN(IF('Categories (2)'!A2:E100=B2,ROW(2:100))),0),0)),"Not Found")
and enter the formula with CRTL+Shift+Enter


Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional


Awesome, this works! Just a couple of $ signs (sorry not sure what the excel terminology is still and it is perfect!

While I was still playing around, I came up with this super-iferror statement that worked as well, but looks kinda funky:

=IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IF(MATCH( B2,Categories!A:A,0)<"#N/A","LOW"),(IF(MATCH(B2,Categories!B:B,0)<"#N/A","MIDDLE"))),(IF(MATCH(B2,Categories!C:C,0)< "#N/A","MODERATE"))),(IF(MATCH(B2,Categories!D:D,0)<" #N/A","UPPER"))),(IF(MATCH(B2,Categories!E:E,0)<" #N/A","UNKNOWN"))),"")

Thank you so much Claus!

dakota park

IF statement with multiple VLOOKUPs
 
On Friday, October 9, 2015 at 11:26:57 AM UTC-5, Peter T wrote:
If I follow, adapt your formula like this

=If(IsError(mylookup1)=FALSE, "MODERATE",
If(IsError(mylookup2)=FALSE, "UPPER",
If(IsError(...etc

If you flip the True/False arg's you could dispense with the respective
=FALSE, though maybe harder to read

Regards,
Peter T


"dakota park" wrote in message
news:8a7c7353-089e-43f9-a684-77ffb82...
I have a table with the top row headers (classifications) of "LOW,"
"MIDDLE," "MODERATE," "UPPER," & "UNKNOWN." Under each are random
(identification) numbers (e.g. under "LOW" there may be 1103, 1105, 1107.1,
1108.2, etc.).

On the subject chart, I have a column of account numbers, a column of
corresponding identification numbers, and then the classification. What I am
having trouble building, is an if statement with a vlookup which will return
the matching classification.

An example of the formula I could use to get a returning "MIDDLE" value if
the identification matches that classification is this:

=IF(VLOOKUP(B2,'Categories (2)'!B:B,1,FALSE)=B2,"MIDDLE", "NOT FOUND")

B2 refers to the subject chart's identification numbers, and the categories
worksheet column B is the column associated with the "MIDDLE" classification
and the identification numbers below it.

I want to build an if statement that will return the classification and
search all columns of the 1st chart.

This was my closest guess, but it only searches the "MIDDLE" column, and
only returns a value if it is a "MIDDLE" match:

=IF(VLOOKUP(B2,'Categories
(2)'!B:B,1,FALSE)=B2,"MIDDLE",IF(VLOOKUP(B2,'Categ ories
(2)'!$D$1:$D$96,1,FALSE)=B2,"UPPER",IF(VLOOKUP(B2, 'Categories
(2)'!$C$1:$C$55,1,FALSE)=B2,"MODERATE",IF(VLOOKUP( B2,'Categories
(2)'!$A$1:$A$21,1,FALSE)=B2,"LOW",IF(VLOOKUP(B2,'C ategories
(2)'!$E$1:$E$4,1,FALSE)=B2,"UNKNOWN","NOT FOUND")))))

For every "MIDDLE" match, it returns "MIDDLE," but for everything else, I
receive back "#N/A."

Any help would be thoroughly appreciated! Thanks!


Thanks Peter! This formula also worked! I appreciate the help, and hope to continue to figure out all of these formulas and how to work!

Claus Busch

IF statement with multiple VLOOKUPs
 
Hi Dakota,

Am Fri, 9 Oct 2015 10:00:51 -0700 (PDT) schrieb dakota park:

Awesome, this works! Just a couple of $ signs (sorry not sure what the excel terminology is still and it is perfect!


you are welcome.

Here is another solution. A little bit shorter and without
CTRL+Shift+Enter:

=IFERROR(INDEX('Categories (2)'!$A$1:$E$1,1,SUMPRODUCT(('Categories (2)'!$A$1:$E$200=B2)*COLUMN(A:E))),"Not Found")


Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

dakota park

IF statement with multiple VLOOKUPs
 
Here is another solution. A little bit shorter and without
CTRL+Shift+Enter:

=IFERROR(INDEX('Categories (2)'!$A$1:$E$1,1,SUMPRODUCT(('Categories (2)'!$A$1:$E$200=B2)*COLUMN(A:E))),"Not Found")



This one worked for giving me all the outputs except where the iferror should return a "Not Found," I am getting back "UNKNOWN." I am trying to understand that last one. Thanks


Claus Busch

IF statement with multiple VLOOKUPs
 
Hi,

Am Fri, 9 Oct 2015 10:37:24 -0700 (PDT) schrieb dakota park:

This one worked for giving me all the outputs except where the iferror should return a "Not Found," I am getting back "UNKNOWN." I am trying to understand that last one. Thanks


please look he
https://onedrive.live.com/redir?resi...=folder%2cxlsm
for "SearchGlobal"


Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

dakota park

IF statement with multiple VLOOKUPs
 
My formula was place in column D on a separate worksheet. The part of the last formula you shared, where the iferror should kick in and return a "not found" was returning whatever classification was used for the D column on the separate worksheet (tab). I tested this out on your search global formula you used for column f. I relocated the formula over to columns e, d, and c to test it out. Same result.


All times are GMT +1. The time now is 08:23 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com