ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Vlookup data wrong if the small value found are same (https://www.excelbanter.com/excel-discussion-misc-queries/64210-vlookup-data-wrong-if-small-value-found-same.html)

Fanny

Vlookup data wrong if the small value found are same
 
Dear Friends,

I need to find the smallest 8 amounts from hundreds of data and look up the
data of the corresponding amount. So I used the small function with
referrence to the Rank column and found two -100,000.00 and each of them
related to Joey and Keith. However, the vlookup function retrieved both data
as Joey and lost Keith's Number and Name. Same problem occurs if retrieving
the top 10 amounts with large function.

Thanks for your great help in advance.

Fanny

Rank Amount Number Name
1 -156,250.00 8 John
2 -120,547.00 13 Peter
3 -103,100.00 541 Mary
4 -102,227.00 20 Kary
5 -100,000.00 261 Joey
6 -100,000.00 261 Joey
7 -87,192.00 1 Kelvin
8 -77,250.00 92 Josephe


CLR

Vlookup data wrong if the small value found are same
 
You might consider using Data Filter AutoFilter to filter the rows you
want.........using Custom Bottom 8 criteria..........

Vaya con Dios,
Chuck, CABGx3



"Fanny" wrote:

Dear Friends,

I need to find the smallest 8 amounts from hundreds of data and look up the
data of the corresponding amount. So I used the small function with
referrence to the Rank column and found two -100,000.00 and each of them
related to Joey and Keith. However, the vlookup function retrieved both data
as Joey and lost Keith's Number and Name. Same problem occurs if retrieving
the top 10 amounts with large function.

Thanks for your great help in advance.

Fanny

Rank Amount Number Name
1 -156,250.00 8 John
2 -120,547.00 13 Peter
3 -103,100.00 541 Mary
4 -102,227.00 20 Kary
5 -100,000.00 261 Joey
6 -100,000.00 261 Joey
7 -87,192.00 1 Kelvin
8 -77,250.00 92 Josephe


Max

Vlookup data wrong if the small value found are same
 
One way via non-array formulas
(using arbitrary tie-breakers)

Assuming source data in cols A to D, from row2 down
(col B = Amount)

Using empty cols to the right

Put in E2: =IF(B2="","",B2+ROW()/10^10)
Copy E2 down until the last row of data (leave E1 empty)

Put in F2:
=INDEX(A:A,MATCH(SMALL($E:$E,ROW(A1)),$E:$E,0))
Copy F2 to I2, fill down to I8

Cols F to I return the required results. Lines with tied amounts
will appear in the same relative order as that in the source.

To get it in "descending" order (using LARGE)

Put in J2: =IF(B2="","",B2-ROW()/10^10)
Copy J2 down until the last row of data (leave J1 empty)

Put in K2:
=INDEX(A:A,MATCH(LARGE($J:$J,ROW(A1)),$J:$J,0))
Copy K2 to N2, fill down to N8

Cols K to N return the required results. Lines with tied amounts
will appear in the same relative order as that in the source.
--
Rgds
Max
xl 97
---
Singapore, GMT+8
xdemechanik
http://savefile.com/projects/236895
--
"Fanny" wrote in message
...
Dear Friends,

I need to find the smallest 8 amounts from hundreds of data and look up

the
data of the corresponding amount. So I used the small function with
referrence to the Rank column and found two -100,000.00 and each of them
related to Joey and Keith. However, the vlookup function retrieved both

data
as Joey and lost Keith's Number and Name. Same problem occurs if

retrieving
the top 10 amounts with large function.

Thanks for your great help in advance.

Fanny

Rank Amount Number Name
1 -156,250.00 8 John
2 -120,547.00 13 Peter
3 -103,100.00 541 Mary
4 -102,227.00 20 Kary
5 -100,000.00 261 Joey
6 -100,000.00 261 Joey
7 -87,192.00 1 Kelvin
8 -77,250.00 92 Josephe




Sloth

Vlookup data wrong if the small value found are same
 
In sheet1 I placed your list (with line 6 changed to represent another
person). In sheet2 I placed the following formulas.

A1: Rank
A2: 1
A3: 2
....

B1: Amount
B2: =SMALL(Sheet1!$B$2:$B$9,A2)
B3: =SMALL(Sheet1!$B$2:$B$9,A3)
.... B3 can be copied down to B9.

C1: Number
C2: =INDIRECT("Sheet1!C"&MIN(IF(Sheet1!$B$2:$B$9=B2,RO W(Sheet1!$B$2:$B$9))))
C3:
=INDIRECT("Sheet1!C"&SMALL(IF(Sheet1!$B$2:$B$9=B3, ROW(Sheet1!$B$2:$B$9)),COUNTIF($B$2:B3,B3)))
.... C3 must be entered using Ctrl+Shift+Enter. Copy C3 down to C9

D1: Name
D2: =INDIRECT("Sheet1!D"&MIN(IF(Sheet1!$B$2:$B$9=B2,RO W(Sheet1!$B$2:$B$9))))
D3:
=INDIRECT("Sheet1!D"&SMALL(IF(Sheet1!$B$2:$B$9=B3, ROW(Sheet1!$B$2:$B$9)),COUNTIF($B$2:B3,B3)))
.... D3 must be entered using Ctrl+Shift+Enter. Copy D3 down to D9

Sorce Data looks like this (I sorted it according to Number to test the
ranking)...
Rank Amount Number Name
7 -87,192.00 1 Kelvin
1 -156,250.00 8 John
2 -120,547.00 13 Peter
4 -102,227.00 20 Kary
8 -77,250.00 92 Josephe
5 -100,000.00 261 Joey
6 -100,000.00 275 Keith
3 -103,100.00 541 Mary

The Ranked List looks like this...
Rank Amount Number Name
1 -156250 8 John
2 -120547 13 Peter
3 -103100 541 Mary
4 -102227 20 Kary
5 -100000 261 Joey
6 -100000 275 Keith
7 -87192 1 Kelvin
8 -77250 92 Josephe

you should be able to adjust the formulas according to your range. The
VLOOKUP function becomes useless if you have nonunique entries. Hope this
helps.

"Fanny" wrote:

Dear Friends,

I need to find the smallest 8 amounts from hundreds of data and look up the
data of the corresponding amount. So I used the small function with
referrence to the Rank column and found two -100,000.00 and each of them
related to Joey and Keith. However, the vlookup function retrieved both data
as Joey and lost Keith's Number and Name. Same problem occurs if retrieving
the top 10 amounts with large function.

Thanks for your great help in advance.

Fanny

Rank Amount Number Name
1 -156,250.00 8 John
2 -120,547.00 13 Peter
3 -103,100.00 541 Mary
4 -102,227.00 20 Kary
5 -100,000.00 261 Joey
6 -100,000.00 261 Joey
7 -87,192.00 1 Kelvin
8 -77,250.00 92 Josephe


Max

Vlookup data wrong if the small value found are same
 
.. smallest 8

To really cater for the event of ties, or multiple ties happening, think we
would probably need to fill down (viz. fill F2:L2, or K2:N2 down) beyond 8
rows to extract the top 8 (or bottom 8) list, and then read it off from
there.

--
Max, Singapore GMT+8, xl97
Samples archive at: http://savefile.com/projects/236895
xdemechanik
--




All times are GMT +1. The time now is 11:02 AM.

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