x
Solved

# return multiple instance of a value in a rw

Posted on 2011-03-10
Medium Priority
233 Views
Hi experts,

I have an excel pivot table with 400+ columns designating a "storage bin location"
There are 1200+ rows designating unique "Item #'s"
The pivot table values designate qty stored in each bin location
An item # may appear in multiple bin locations in the pivot table

I need a formula or method for returning the bin location for the 1st instance of a qty >0, then return the bin location of 2nd instance where qty>0, then 3rd...to n possible locations. Upper limit of n likely can be assumed less than 20 possible locations.

I was thinking adding 20 columns at the end of the pivot table and using a hlookup to find qty values >0 and return bin location on top row of pivot table. Problem is telling column 2 to return the bin location of the 2nd instance in the row, then column 3 to return 3rd instance, etc.

Any help greatly appreciated.

Kevin

0
Question by:KevinHatt
• 6
• 5

LVL 85

Expert Comment

ID: 35095900
For example:
=INDEX(1:1,SMALL(IF(3:3>0,COLUMN(3:3)),2))
array-entered will return the value from row 1 for the second value greater than zero in row 3. Is that what you meant?
0

Author Comment

ID: 35096002
Hi rorya,

I dont think so...

example:
[ Col1-Col2- Col3- Col4...Col400]    [Location1     Location2]...
item 123          4                5                                  Col1                Col3

does that make sense?

0

LVL 85

Expert Comment

ID: 35096023
Yes, that's basically what the formula I posted does. If you just want the column number (rather than the contents of row 1, then use:
=SMALL(IF(3:3>0,COLUMN(3:3)),1) for the first item
=SMALL(IF(3:3>0,COLUMN(3:3)),2) for the second item
etc.
0

Author Comment

ID: 35097628
apologies for being obtuse Rorya...I think you are correct, I'm just fighting syntax here. Can I ask for some specific syntax for the given data range?

Row that contains Bin location is row 4
qty values are located in range b5 to pc5

Also...when entering the array range, is it necessary to ctrl+shift+enter?
0

LVL 85

Expert Comment

ID: 35100352
Yes it must be ctrl+ shift+ enter
Basically use
=INDEX(4:4,SMALL(IF(b4:pc4>0,COLUMN(b4:pc4)),2))
0

LVL 85

Expert Comment

ID: 35100365
Yes it must be ctrl+ shift+ enter
Basically use
=INDEX(4:4,SMALL(IF(b5:pc5>0,COLUMN(b5:pc5)),2)
0

LVL 85

Accepted Solution

Rory Archibald earned 2000 total points
ID: 35107154
Correction:
=INDEX(B4:PC4,SMALL(IF(b4:pc4>0,COLUMN(b4:pc4)),2))
still array-entered.
0

Author Comment

ID: 35114613
Hi rorya,

Your help was most gratefully received Master Savant. Formulas working as they should,aand client happy.

Full points to be awarded, and thanks again!

Kevin
0

Author Comment

ID: 35114616
closed
0

Author Comment

ID: 35114619
closed
0

Author Comment

ID: 35114628
closed
0

LVL 24

Expert Comment

ID: 35357007
This question has been classified as abandoned and is being closed as part of the Cleanup Program. See my comment at the end of the question for more details.
0

## Featured Post

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
###### Suggested Courses
Course of the Month11 days, 10 hours left to enroll