## How to find highest value in a row and return column header in Excel?

In this article, I will talk about how to return the column header of the largest value in a row in Excel. For Example, I have the following data range, column A is the year, and column B to F are populated the order numbers from Jan to May. And now, I want to get the month name of the largest value in each row.

Find highest value in a row and return column header with formula

#### Find highest value in a row and return column header with formula

To retrieve the column header of the largest value in a row, you can apply a combination of INDEX, MATCH and MAX functions to get the result. Please do as follows:

1. Enter this formula into a blank cell you need: =INDEX(\$B\$1:\$F\$1,0,MATCH(MAX(\$B2:\$F2),\$B2:\$F2,0)), and then press Enter key to get the month name which matches the largest value in a row. See screenshot:

2. And then select the cell and drag the fill handle over to the range that you want to contain this formula, see screenshot:

Note: In the above formula: B1: F1 is the headers row that you want to return, B2: F2 is the data range which contains the largest value you want to find.

Related article:

How to find the highest value and return adjacent cell value in Excel?

### Best Office Productivity Tools

Supports Office/Excel 2007-2021 and 365  |  Available in 44 Languages  |  Easy to Uninstall Completely

 Popular Features: Find/Highlight/Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ... Super Lookup: Multiple Criteria VLookup  |   Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup .... Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List .... Column Manager: Add a Specific Number of Columns   |   Move Columns   |   Unhide Columns   |   Compare Columns to Select Same & Different Cells ... Featured Features: Grid Focus   |  Design View   |   Big Formula Bar   |  Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells   |  Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ... Top 15 Toolset:  12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   Many More...

Kutools for Excel Boasts Over 300 Features, Ensuring That What You Need Is Just A Click Away...

Supercharge Your Spreadsheets: Experience Efficiency Like Never Before with Kutools for Excel  (Full-Featured 30-Day Free Trial)

#### Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

• Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
• Open and create multiple documents in new tabs of the same window, rather than in new windows.
• Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Sort comments by
Comments (26)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Can you do this with a MAXIFS function?
This comment was minimized by the moderator on the site
Hello, Ted,
In this case, here can't use the MAXIFS function. In Excel, the MAXIFS function is used to return the largest number in a column based on one or more criteria.
Please click to know more about this MAXIFS fucntion..., it explains this function clearly and detailedly.
Thank you!
This comment was minimized by the moderator on the site
What if there are 2 same highest value, how can i return both column headers, for example the sales for both april and august are 30k, how can i return the name of both april and august
This comment was minimized by the moderator on the site
Hello, To return all the column headers with multiple higest values, you should apply the below User Defined Function.
``````Function getmax(rngRst As Range, rngVal As Range) As String
Dim i As Integer
Dim xNum As Double
Dim xStr As String
xNum = Application.WorksheetFunction.Max(rngVal)
For i = 1 To rngVal.Count
If rngVal(i).Value = xNum Then
xStr = xStr & rngRst(i).Value & ","
End If
Next
getmax = Left(xStr, Len(xStr) - 1)
End Function``````

Please copy the above code into the VBA module, and then use the below formula to get the first result, and then drag the fill handle down to return other column headers.=getmax(\$B\$1:\$H\$1,B2:H2)

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Hi, I have attendance sheet. First column heading is names and rest columns for dates.
Names columns shows names in rows and dates columns shows p (present) H (weekoff) L (leave)
It's for 23 people.
and at last I have made total presents in a day, then total leaves and then total weekoffs.
"Now I am searching the way where I can click on total present numbers and get list of all names who are present in a particular day."
I tried many ways but no luck.
first columns names, second shows if they were present or leave or on week offs.Is there anyway where I can get list of all names who are present or on leave?Any formula?
This comment was minimized by the moderator on the site
how can i modify this logic to show me all the records in one row where a value in all selected columns are greater than 1
This comment was minimized by the moderator on the site
how can i modify this logic to show all the column header in a single row where the value is > 1?
This comment was minimized by the moderator on the site
Did you figure this out
This comment was minimized by the moderator on the site
yoh you are so late man .  year has passed XD
This comment was minimized by the moderator on the site
Thank for this. It helped. Does it work the same way for a range of cells instead of just a row? I am trying to get the formula to return the column header (month) of the largest and smallest value in a range of cells? This is what I tried =INDEX(\$B\$4:\$M\$4,0,MATCH(MAX(\$B5:\$M42),\$B5:\$M42,0)) but it gives a #N/A answer
This comment was minimized by the moderator on the site
What happens if you have duplicate values in a row and you want the latest value's header. Is this possible?
The current formula only returns the first match, but in my case I need to know the latest one
This comment was minimized by the moderator on the site
hi. having same issue. Pls do reply if u have found the way out.
This comment was minimized by the moderator on the site
You're Aces Kid !!! ... this example worked perfect for my application: =INDEX(\$B\$1:\$F\$1,0,MATCH(MAX(\$B2:\$F2),\$B2:\$F2,0))

ISA 40:31
This comment was minimized by the moderator on the site
Thank you so much!!!
This comment was minimized by the moderator on the site
Hi, am trying to find lowest value in a row and the highest value on the corresponding column. Is there a formula or shortcut to find this. Please guide
This comment was minimized by the moderator on the site
Thank you! very helpful!
This comment was minimized by the moderator on the site
pardon: think my message dissappeard (2nd copy?) hi, i am trying to find the column number of a max number in 1 row of 5 cells. if i start from M9 to Q9 and the max number is in the middle cell: O9 the result looking for would be: 3. i cannot change the header cells to have: 1 2 3 4 5 as they get values pasted over.. if this is the same formula as above. how to i modify it to use column locations instead of header values. thanks: =INDEX(M1:Q1,0,MATCH(MAX(M9:Q9),M9:Q9,0))
This comment was minimized by the moderator on the site
hi, i am having trouble finding an "unquote" :) column number for where the maximun number is. if i use columns M9 thru Q9 and the max is in the middle column: O9, that is the 3rd column in that range. i cannot put 1 2 3 4 5 in the header cells as they get values pasted over. if this is the same formula as above, how do i modify it to get a result eg: 3 for 3rd column in. thanks. =INDEX(M1:Q1,0,MATCH(MAX(M9:Q9),M9:Q9,0))
This comment was minimized by the moderator on the site
Hi, i want to make a list with names and grades and i want to find the 3 highest grades and the names that go with them i used the formula =INDEX(A3:A13,MATCH(LARGE(K3:K13,2),K3:K13,0)) but if two people have the same grade what happens??? can someone help me????
This comment was minimized by the moderator on the site
Hello, Did you find a solution?
This comment was minimized by the moderator on the site
How can I do this if I want to return a row header rather than column header? I would also like to base the row number on a value in another cell that matches the column header. (So, look up column header and max value in that column, return the row header for that max value).
This comment was minimized by the moderator on the site
OMFG THIS ARTICLE JUST SAVED ME HOURS OF WORK TODAY THANK YOU SO MUCH FOR THIS SOLUTION. YOU ARE TRULY A GENIUS AND THIS METHOD IS MUCH APPRECIATED!!!! 10/10
This comment was minimized by the moderator on the site
Is it possible to have this function work with multiple tabs on the same spreadsheet?
This comment was minimized by the moderator on the site
Great thank you, I'd have strugled creating that formula myself, kind of you to share.
This comment was minimized by the moderator on the site
Thanks. I would like to know how can this function work if there are multiple cells in a row with the same value ? Is it possible to return multiple column headers in the target cell ?
This comment was minimized by the moderator on the site
i have same requirement, pls let me know if you found the answer, thx
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
Rate this post:
0   Characters
Suggested Locations