Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 233
  • Last Modified:

Data validation in Excel - getting the Id, not Name

Here's what I want to do:
Let's say I have a named range with two columns:

Id     Name
1      One
2      Two
3      Three

For cell A1, I create a data validation of type List, so that the only acceptable values in A1 is One, Two or Three (i.e. any value in the "Name" column)

In cell A2, I make a reference to A1, so that it contains the corresponding Id of the selected value, i.e. 1 for One, 2 for Two, 3 for Three.

Is this possible WITHOUT MACROS? If the solution requires using a dropdown control instead of data validation, that is ok.

Thanks!
/Fredrik
0
gunman69
Asked:
gunman69
  • 5
  • 3
  • 2
  • +3
1 Solution
 
andrewssd3Commented:
It would be easier if you swapped the columns round in your named range (Name first then Id) so you could use VLOOKUP.  Say the named range is called Valid.  Then just set your validation in cell A1, and in A2 use the formula:
=VLOOKUP($A$1,Valid,2,FALSE)

Open in new window


This would only work correctly if the Name values were unique.  If not you would probably have to use a combobox control, which is probably overkill for this.
0
 
jppintoCommented:
On cell A1 you can use a Data Validation list and on cell A2 you can use a VLOOKUP() function to get the corresponding ID.
0
 
Ingeborg Hawighorst (Microsoft MVP / EE MVE)Microsoft MVP ExcelCommented:
But you can also leave the order of the columns and use an Index/Match:

=index($C$1:$C$100,Match(A1,$B$!:$B$100,0))

with ID in column B and Name in column C

cheers, teylyn
0
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 
jppintoCommented:
I've attached a sample file for you to check...

jppinto
Data-Validation-VLOOKUP.xlsx
0
 
barry houdiniCommented:
Without changing the data you can use INDEX and MATCH, i.e. in A2

=INDEX(Id,MATCH(A1,Name,0))

where Name refers to the name range and Id to the Id range

regards, barry
0
 
barry houdiniCommented:
.....or what teylyn said.....:)
0
 
kgerbChief EngineerCommented:
This will do what you want without having to switch the columns around.

=INDEX(MyRng,MATCH(A1,I8:I10,0),1)

Kyle
Q-27343319-RevA.xlsx
0
 
kgerbChief EngineerCommented:
oops, sorry:)  Refresh next time:)
0
 
Ingeborg Hawighorst (Microsoft MVP / EE MVE)Microsoft MVP ExcelCommented:
@jppinto, the order of the columns is

ID     |   Name

not the other way round. Hence the suggestions for Index/Match.
0
 
barry houdiniCommented:
....or use VLOOKUP without switching the columns...

=VLOOKUP(A1,IF({1,0},Name,Id),2,0)

regards, barry
0
 
jppintoCommented:
If the order of the columns is "inverted", you can use a "negative" VLOOKUP() function, like I propose here:

http://excel-user.blogspot.com/2011/07/negative-vlookupreturn-value-to-left-of.html

jppinto
0
 
andrewssd3Commented:
And I thought swapping the columns around was a fairly harmless suggestion....:)
0
 
Rory ArchibaldCommented:
Barry,
I worry about you sometimes... :)
0
 
barry houdiniCommented:
It's a good opening gambit.....!

[off topic alert]

...on the face of it VLOOKUP is easier to use but there's a case for using INDEX/MATCH even if the columns are the other way round. INDEX/MATCH allows you much greater flexibility, e.g. you can insert a column between Id and Name without causing the formula to fail (not the case with VLOOKUP)....you can see much more quickly which column the values are returned from (rather than having to count 47 columns with some VLOOKUPs) and you could, for instance, much more easily lookup a value in one row and return the value from the row above or below.

regards, barry
0
 
barry houdiniCommented:
Barry,
I worry about you sometimes... :)


Hello Rory - the doctor says that as long as I keep taking the medication I'll be OK in 10-15 years.....

barry
0
 
Rory ArchibaldCommented:
Are you supposed to take it with cider though??
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

  • 5
  • 3
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now