Last night I got an email from Joshua, one of our readers with the subject – Hard Excel problem. Hard?!?, at this stage of summer, the hard problems seem to be (in no particular order),
- Lack of good quality mangoes to eat
- Intense heat and humidity
- Lack of good quality mangoes to eat
Yes, I like mangoes.
Any how, back to Joshua’s email, So I got curious and read it. He is facing an interestingproblem.
I have a very difficult inquiry I am hoping you might be able to solve…
Is there a formula (i.e., without using VBA) that will look at another columns values and provide a new sequential number (i.e., reordered) when the value changes; however, keep the same sequential number for the duplicates?
Below is a table with two columns. […] I now need to rank order those cluster groups. Since cluster 12 appears first it would get a value of ‘1’ and all of the cluster 12’s should now be a ‘1’. Since cluster 4 appears next it would get a rank of 2, etc…

Well, it is an interesting problem for sure. But hard problem, it isn’t. For really hard problems, refer to my list above.
So how to generate the sequence numbers?
Logic: If a value is already listed, we fetch corresponding sequence number. Else, we generate a new sequence number.
Implementation: Simple, we use VLOOKUP.
Assuming the cluster values are in column B, from B4 onwards, in C4, write
=IFERROR(VLOOKUP(B4,$B$3:C3,2,FALSE), SUM(MAX($C$3:C3),1))
Let’s examine the formula.
VLOOKUP(B4,$B$3:C3,2,FALSE) portion: This one looks value in column B and tries to find corresponding sequence value in column C.
SUM(MAX($C$3:C3),1) portion: Gives us next sequence number
IFERROR(VLOOKUP(…), SUM(…)) portion: This does the magic of choosing either existing sequence number or generating a new one.
For more, read about VLOOKUP and IFERROR formulas.

Sequence number generation – Example spreadsheet
Play with the sequence number generation spreadsheet embedded below or Click here to grab a copy of the file.
How would you generate the sequence numbers?
Its your turn to take a crack at the hard problem. How would you solve it? Go ahead and share your answers in the comments.
More hard problems – solved:
Hard problems are not new at Chandoo.org. We take lob vlookups and sumproducts regularly to crack them. Here are few examples:














13 Responses to “Data Validation using an Unsorted column with Duplicate Entries as a Source List”
Pivot Table will involve manual intervention; hence I prefer to use the 'countif remove duplicate trick' along with 'text sorting formula trick; then using the offset with len to name the final range for validation.
if using the pivot table, set the sort to Ascending, so the list in the validation cell comes back alphabetically.
Hui: Brillant neat idea.
Vipul: I am intrigued by what you are saying. Please is it possible to show us how it can be done, because as u said Hui's method requires user intervention.
Thks to PHD and all
K
Table names dont work directly inside Data validation.
You will have to define a name and point it to the table name and then use the name inside validation
Eg MyClient : Refers to :=Table1[Client]
And then in the list validation say = MyClient
Kieranz,
Pls download the sample here http://cid-e98339d969073094.skydrive.live.com/self.aspx/.Public/data-validation-unsorted-list-example.xls
Off course there are many other ways of doing the same and integrating the formulae in multiple columns into one.
Pls refer to column FGHI in that file. Cell G4 is where my validation is.
Vipul:
Many thks, will study it latter.
Rgds
K
[...] to chandoo for the idea of getting unique list using Pivot tables. What we do is that create a pivot table [...]
@Vipul:
Thanks, that was awesome! 🙂
@Playercharlie Happy to hear that 🙂
Great contribution, Hui. Solved a problem of many years!
Thanks to you, A LOT
Hi Hui,
Greeting
hope you are doing well.
I'm interested to send you a private vba excel file which i need to show detail of pivot in new workbook instead of showing in same workbook as new sheet.
Please contact me on muhammed.ye@gmail.com
Best Regards