Use VLOOKUP and return multiple values sorted from A to Z
The array formula in column G filters values in column C using a condition in cell E3, comparing it with values in adjacent column B. The filtered values are then sorted from A to Z.
It is possible to build a formula around the VLOOKUP function but it would be big, the following formula is smaller and easier to understand.
Array formula in cell G3:
Watch a video where I explain the formula
Recommended article
Unique distinct list sorted alphabetically based on a condition
Update 17 December 2020, the new FILTER, UNIQUE, and SORT functions are now available for Excel 365 users. =SORT(UNIQUE(FILTER(C3:C11, E3=B3:B11))) […]
Unique distinct list sorted alphabetically based on a condition
How to enter an array formula
- Double click on cell G3
- Copy and paste above formula to cell G3
- Press and hold CTRL + SHIFT simultaneously
- Press Enter once
- Release all keys
Examine the formula bar and you will see that the formula now has a beginning and ending curly bracket. Don't enter these characters yourself, they appear automatically. Example, {=array_formula}
Recommended article
Array formulas allows you to do advanced calculations not possible with regular formulas.
Explaining formula in cell G3
Step 1 - Sort values in column C
COUNTIF($C$3:$C$10, "<"&$C$3:$C$10)
becomes
COUNTIF({"F"; "S"; "G"; "E"; "B"; "N"; "W"; "A"},{"<F"; "<S"; "<G"; "<E"; "<B"; "<N"; "<W"; "<A"})
and returns
{3;6;4;2;1;5;7;0}
Recommended article
How to use the COUNTIF function
Counts the number of cells that meet a specific condition.
How to use the COUNTIF function
Step 2 - Extract sort rank numbers for chosen category
IF($E$3=$B$3:$B$10, COUNTIF($C$3:$C$10, "<"&$C$3:$C$10), "")
becomes
IF($E$3=$B$3:$B$10, {3;6;4;2;1;5;7;0}, "")
becomes
IF($E$3=$B$3:$B$10, {3;6;4;2;1;5;7;0}, "")
becomes
IF(1={1;2;1;2;1;1;2;2},{3;6;4;2;1;5;7;0},"")
becomes
IF({TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE},{3;6;4;2;1;5;7;0},"")
and returns
{3;"";4;"";1;5;"";""}
Recommended article
Checks if a logical expression is met. Returns a specific value if TRUE and another specific value if FALSE.
Step 3 - Find k-th smallest value in array
SMALL(IF($E$3=$B$3:$B$10,COUNTIF($C$3:$C$10,"<"&$C$3:$C$10),""),ROWS($A$1:A1))
becomes
SMALL({3;"";4;"";1;5;"";""},ROWS($A$1:A1))
becomes
SMALL({3;"";4;"";1;5;"";""},1)
and returns 1.
Recommended article
The SMALL function lets you extract a number in a cell range based on how small it is compared to the other numbers in the group.
Step 4 - Match sort rank to find relative position
MATCH(SMALL(IF($E$3=$B$3:$B$10, COUNTIF($C$3:$C$10, "<"&$C$3:$C$10), ""),ROWS($A$1:A1)), COUNTIF($C$3:$C$10,"<"&$C$3:$C$10), 0)
becomes
MATCH(1, {3;6;4;2;1;5;7;0}, 0)
and returns 5.
Recommended article
Identify the position of a value in an array.
Step 5 - Return values
INDEX($C$3:$C$10,MATCH(SMALL(IF($E$3=$B$3:$B$10,COUNTIF($C$3:$C$10,"<"&$C$3:$C$10),""),ROWS($A$1:A1)),COUNTIF($C$3:$C$10,"<"&$C$3:$C$10),0))
becomes
INDEX($C$3:$C$10,5)
becomes
INDEX({"F";"S";"G";"E";"B";"N";"W";"A"},5)
and returns B in cell G3.
Recommended article
Gets a value in a specific cell range based on a row and column number.
Tip! You can easily filter values if you convert your data to an excel table and then sort them:
Become more productive – Learn Excel Defined Tables
An Excel table allows you to easily sort, filter and sum values in a data set where values are related.
Become more productive – Learn Excel Defined Tables
Download excel *.xlsx file
Use VLOOKUP and return multiple values sorted from A to Z.xlsx
Recommended articles
Table of Contents Sort a column using array formula Two columns sorting by the second column Sort alphanumeric values I […]
5 easy ways to VLOOKUP and return multiple values
This post explains how to lookup a value and return multiple values. No array formula required.
5 easy ways to VLOOKUP and return multiple values
Unique distinct records sorted based on count or frequency
Sara asks: How can you use large with multiple criteria?? Example looking for top 5 of a list based on […]
Unique distinct records sorted based on count or frequency
Sort column based on frequency
Question: How do I create a new unique distinct list from a column. I also want the list sorted from large […]
Sort column based on frequency
Create a drop down list containing alphabetically sorted values
This article describes how to create a drop-down list populated with sorted values from A to Z. The sorted list […]
Create a drop down list containing alphabetically sorted values
Extract a unique distinct list sorted from A to Z ignore blanks
The image above demonstrates a formula in cell D3 that extracts unique distinct numbers and text values sorted from A […]
Extract a unique distinct list sorted from A to Z ignore blanks
5 easy ways to VLOOKUP and return multiple values
This post explains how to lookup a value and return multiple values. No array formula required.
Vlookup with 2 or more lookup criteria and return multiple matches
VLOOKUP and return multiple matches based on many criteria.
Vlookup across multiple sheets
This article demonstrates an array formula that searches two tables on two different sheets and returns multiple results. Sheet1 contains […]
VLOOKUP and return multiple values across columns
This article demonstrates a formula that lets you extract non-empty values across columns based on a condition. The image above […]
Use a drop down list to search and return multiple values
I will in this article demonstrate how to use a value from a drop-down list and use it to do […]
Search values distributed horizontally and return corresponding value
Question: Hi, The formula here works great but I can't figure out how to change it to work with data […]
Vlookup with multiple matches returns a different value
Linda asks in this post: How to return multiple values using vlookup in excel I tried using the formula above […]
Vlookup a cell range and return multiple values
VLOOKUP a multi-column range and return multiple values.
Lookup multiple values in different columns and return multiple values
Jason C asks: I have a set of data, like the one you used in the original example that also […]
2 Responses to “Use VLOOKUP and return multiple values sorted from A to Z”
Leave a Reply
How to comment
How to add a formula to your comment
<code>Insert your formula here.</code>
Convert less than and larger than signs
Use html character entities instead of less than and larger than signs.
< becomes < and > becomes >
How to add VBA code to your comment
[vb 1="vbnet" language=","]
Put your VBA code here.
[/vb]
How to add a picture to your comment:
Upload picture to postimage.org or imgur
Paste image link to your comment.
Hii Oscar
I have a problem and I know you can help me definitely
"Am your way the great ..." this values with space in one cell (B1)
Is there any formula to seperate all strings in one raw like
C1- Am
C2- your
C3- way
C4- the
C5- great
C6-
C7-
Etc.
Anil
Yes there is but the formula is large:
https://www.get-digital-help.com/2011/03/23/text-to-columns-split-words-in-a-cell-excel-array-formula/
I recommend Rick Rothstein (MVP - Excel)'s formula:
https://www.get-digital-help.com/2011/03/23/text-to-columns-split-words-in-a-cell-excel-array-formula/#comment-52519