How to extract a character from a string then VLOOKUP a table?

N

nginhong

Dear expert,

If I have an 13 positions alphanumeric string in cell A1 e.g. A1B2C3YD4E5F6
Position no. 7 represents is calendar year like table below:-

Code Calendar year
Y 2000
1 2001
2 2002
3 2003
4 2004
5 2005
6 2006
7 2007
8 2008
9 2009
A 2010
B 2011
C 2012
D 2013
E 2014
F 2015

How to extract and display the calendar year in cell B2?
Example:-
Cell A1 = A1B2C3YD4E5F6 then return in cell B2 = 2000
Cell A1 = A1B2C35D4E5F6 then return in cell B2 = 2005
Cell A1 = A1B2C3AD4E5F6 then return in cell B2 = 2010

Meaning that you have to first extract the position no. 7 from the string
then VLOOKUP the table above to return to a calendar year in cell B2.

Thanks for your support!

BR//nginhong
 
J

Jarek Kujawa

with Code in C1:C16 and Calendar year in D1:D16

=VLOOKUP(MID(A1,7,1),$C$1:$D$16,2,)

or

=OFFSET($C$1,MATCH(MID(A1,7,1),$A$1:$A$16-1,1)

adjust ranges to suit

HIH
 
J

Joerg Mochikun

Assuming that your codes/calendar years are in C1:D16, then
=VLOOKUP(MID(A1,7,1),$C$1:$D$16,2,FALSE)

Please note: You have to format range C1:C16 as text, otherwise the code
will produce errors in all cases where the year is represented by a number
and not a letter.

Joerg Mochikun
 
M

Mike H

Hi,

With your table in columns C&D try this

=IF(ISERROR(MID(A1,7,1)+0),INDEX(D1:D16,MATCH(MID(A1,7,1),C1:C16,0),0),MID(A1,7,1)+2000)

Mike
 
N

nginhong

Hi Mike,

The formula is working fine but the cell B2 will shows #N/A when cell A1 is
left blank.
Could you revise the formula to make cell B2 as "blank" when A1 is left blank?

Last time I use this formula to make B2 not to show formula error "#N/A when
cell A1 is left blank.
=IF(A1=0," ",VLOOKUP(VALUE(MID(A1,7,1)), $C$1:$D$16,2)).

BR//nginhong
 
M

Mike H

Hi,

=IF(A1<>"",IF(ISERROR(MID(A1,7,1)+0),INDEX(D1:D16,MATCH(MID(A1,7,1),C1:C16,0),0),MID(A1,7,1)+2000),"")

Mike
 
R

Rick Rothstein

You don't really need your lookup table for the coding you posted... with
the exception of the Y, they are Hex values. Try this formula (which does
not reference any table values)...

=2000+HEX2DEC(MID(SUBSTITUTE(A1,"Y","0"),7,1))

Note that in versions of Excel prior to 2007, you need to load the Analysis
ToolPak Add-in (Tools/Add-Ins from Excel's menu bar).
 
R

Rick Rothstein

Here is a formula that does not rely on the Analysis ToolPak and still does
not require your lookup table either...

=1999+SEARCH(MID(A1,7,1),"Y123456789ABCDEF")
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top