Function to replicate filter needed - time sensitive

Status
Not open for further replies.

colinheslop1984

Board Regular
Joined
Oct 14, 2016
Messages
129
Office Version
  1. 2016
A1 STYLEB DEPARTMENTC CATEGORYD COLOURE VALUE
ADRIANAWOMENSJERSEYPLUM210
MAIZEYWOMENSNIGHTWEARTEAL205
JACOBMENSKNITWEARNAVY178
HAYWOODWOMENSKNITWEARYELLOW150
PENGUINWOMENSNIGHTWEARPURPLE105
ORGANICMENSJERSEYBLUE79

<tbody>
</tbody>












I have a table of data like the one above only larger. I want to create a top 10 list based on criteria, the criteria being column's B and C.

I would like the below table to populate itself in order of value if column B meets the desired criteria's, e.g. women's AND nightwear. In essence it will work just like a filter

DEPARTMENT CRITERIA (E.G. WOMENS)CATEGORY CRITERIA (E.G. NIGHTWEAR)

<tbody>
</tbody>



STYLECOLOURVALUE
*FUNCTION NEEDED*FUNCTION NEEDED*FUNCTION NEEDED

<tbody>
</tbody>









DESIRED RESULT BELOW

STYLECOLOURVALUE
MAIZYTEAL205
PENGUINPURPLE105
AND SO ON

<tbody>
</tbody>







Any suggestions would be much appreciated
 

Excel Facts

Wildcard in VLOOKUP
Use =VLOOKUP("Apple*" to find apple, Apple, or applesauce
How about


Excel 2013/2016
ABCDEFGHIJ
1A1 STYLEB DEPARTMENTC CATEGORYD COLOURE VALUEWomensA1 STYLED COLOURE VALUE
2ADRIANAWOMENSJERSEYPLUM210NightwearMAIZEYTEAL205
3MAIZEYWOMENSNIGHTWEARTEAL205PENGUINPURPLE105
4JACOBMENSKNITWEARNAVY178
5HAYWOODWOMENSKNITWEARYELLOW150
6PENGUINWOMENSNIGHTWEARPURPLE105
7ORGANICMENSJERSEYBLUE79
Jan2
Cell Formulas
RangeFormula
H2{=IFERROR(INDEX($A$2:$E$7,SMALL(IF(($B$2:$B$7=$G$1)*($C$2:$C$7=$G$2),ROW($A$2:$A$7)-1),ROW($G1)),1),"")}
I2{=IFERROR(INDEX($A$2:$E$7,SMALL(IF(($B$2:$B$7=$G$1)*($C$2:$C$7=$G$2),ROW($A$2:$A$7)-1),ROW($G1)),4),"")}
J2{=IFERROR(INDEX($A$2:$E$7,SMALL(IF(($B$2:$B$7=$G$1)*($C$2:$C$7=$G$2),ROW($A$2:$A$7)-1),ROW($G1)),5),"")}
Press CTRL+SHIFT+ENTER to enter array formulas.
 
Upvote 0
How would that formula look if I wanted to remove the criteria for column B (DEPARTMENT). SO only one criteria, that being the category column
 
Upvote 0
Just remove the part in red from each formula
=IFERROR(INDEX($A$2:$E$7,SMALL(IF(($B$2:$B$7=$G$1)*($C$2:$C$7=$G$2),ROW($A$2:$A$7)-1),ROW($G1)),1),"")
 
Upvote 0
=IFERROR(INDEX($A$2:$E$7,SMALL(IF(($B$2:$B$7=$G$1)*($C$2:$C$7=$G$2),ROW($A$2:$A$7)-1),ROW($G1)),1),"")

What about this bit at the end in red?
 
Upvote 0
Should work

Excel 2013/2016
ABCDEFGHIJ
1A1 STYLEB DEPARTMENTC CATEGORYD COLOURE VALUEA1 STYLED COLOURE VALUE
2ADRIANAWOMENSJERSEYPLUM210NightwearMAIZEYTEAL205
3MAIZEYWOMENSNIGHTWEARTEAL205PENGUINPURPLE105
4JACOBMENSKNITWEARNAVY178ORGANICBLUE79
5HAYWOODWOMENSKNITWEARYELLOW150
6PENGUINWOMENSNIGHTWEARPURPLE105
7ORGANICMENSNIGHTWEARBLUE79
Jan2
Cell Formulas
RangeFormula
H2{=IFERROR(INDEX($A$2:$E$7,SMALL(IF(($C$2:$C$7=$G$2),ROW($A$2:$A$7)-1),ROW($G1)),1),"")}
I2{=IFERROR(INDEX($A$2:$E$7,SMALL(IF(($C$2:$C$7=$G$2),ROW($A$2:$A$7)-1),ROW($G1)),4),"")}
J2{=IFERROR(INDEX($A$2:$E$7,SMALL(IF(($C$2:$C$7=$G$2),ROW($A$2:$A$7)-1),ROW($G1)),5),"")}
Press CTRL+SHIFT+ENTER to enter array formulas.
 
Upvote 0
RankStyle NameColourUnitsValue
1STAR JUMPERBLU-NAVY3148.5
2HAYWOOD CARDIGANYEL-GOLDEN HAZE3143.55
3SUZIE SWING ROLL NECKBLK-PHANTOM2110
4CHARLOTTE CASHMERE JUMPERPNK-SEASHELL198
5ALICIA HOODIE XBLU-NAVY155
6ALICIA HOODIE XBLU-NAVY155
7ALICIA HOODIE XBLU-NAVY155
8ALICIA HOODIE XBLU-NAVY155
9HAYWOOD CARDIGANPNK-ROSE ASH149.5
10HAYWOOD CARDIGANPNK-ROSE ASH149.5
11LIZZIE CARDIGRN-BOTTLE GRN145
12HAYWOOD CARDIGANNAT-IVORY144.55
13HOLLY CHENILLE JUMPERPPL-DATE142
14HOLLY CHENILLE JUMPERPPL-DATE142
15CHARLOTTE CASHMERE JUMPERGRY-GREY MARL139.2

<tbody>
</tbody>

Still trying to figure this one out, please can you advise?

I started off in Column E (Value column) by using =LARGE(IF('1924W'!$M:$M='Womens Knitwear (2)'!$C$3,'1924W'!$AB:$AB),A6) to gather the top 15 values based on criteria (c3)

Next in column C (Colour) I have used =INDEX('1924W'!A:V,MATCH(1,('1924W'!M:M=C$3)*('1924W'!AB:AB='Womens Knitwear (2)'!E6),0),16) This matches the colour of an item to the sales value in column E, still based on criteria C3.

In column B I use =INDEX('1924W'!A:V,MATCH(1,('1924W'!M:M=C$3)*('1924W'!AB:AB='Womens Knitwear (2)'!E6),0),4) Similar to above, this matches the name of the item to the sales value, based on criteria C3.

The problem I am having is that Column B will tend to have names repeating because there are items with same name, so I somehow need column C to remove duplicate colour but only where an item name in column B is repeated.

AND

I only want column B to repeat the item name the true amount of times. In the table above you can see an item repeated 4 times because it is basing its criteria on things that aren't unique enough. It should only be twice in this example

What can I add / do differently to get the results I need? Please add into my formula or rewrite
 
Upvote 0
Without being able to see your data, or your criteria, I've no idea.
Also as rows 5 to 8 are identical, how do you determine that they should only appear twice.
 
Upvote 0
Status
Not open for further replies.

Forum statistics

Threads
1,215,143
Messages
6,123,277
Members
449,093
Latest member
Vincent Khandagale

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top