I have a data set and used google sheets and the filter function to return a set of outputs based on a criteria That filter function doesn't exist on my version of excel of PC What is an alternative I can use to get the same output
Data Set:
Formula used in sheets:
=FILTER(A2:A16,K2:K16="Operations")
Output would be a list of employee names who were in the department operations
Any help on replicating this on excel would be much appreciated.
CodePudding user response:
• Formula used in cell F2
=IF(ROWS($F$2:F2)<=COUNTIF($D$2:$D$16,"Operations"),
INDEX($A$2:$A$16,AGGREGATE(15,6,(ROW($A$2:$A$16)-ROW($A$2) 1)
/($D$2:$D$16="Operations"),ROW(A1))),"")
The reason I have used a COUNTIF()
Function is that, it gives the counts of number employees in Operations
Department and gives the output for those accordingly, thus excluding the use of IFERROR()
Function & makes more robust formula!
However, these are the few alternatives, which you may try as well,
=IFERROR(
INDEX($A$2:$A$16,AGGREGATE(15,6,(ROW($A$2:$A$16)-ROW($A$2) 1)
/($D$2:$D$16="Operations"),ROW(A1))),"")
Or,
=IFERROR(
INDEX($A$2:$A$16,SMALL(IF($D$2:$D$16="Operations",
ROW($A$2:$A$16)-ROW($A$2) 1),ROW(A1))),"")
Note: Using SMALL()
Function you may need to press CTRL
SHIFT
ENTER
based on your Excel Version, however using AGGREGATE()
usually it doesn't require! Also, since i have used the Department
in Column D
you may need to adjust the formula in your workbook with Column K
. Therefore the formula will be
=IF(ROWS($A$2:A2)<=COUNTIF($K$2:$K$16,"Operations"),
INDEX($A$2:$A$16,AGGREGATE(15,6,(ROW($A$2:$A$16)-ROW($A$2) 1)
/($K$2:$K$16="Operations"),ROW(A1))),"")