Dimarc67
asked on
EXCEL Conditional Formatting: Define a row range in which to identify the highest value in a column
I have an Excel spreadsheet consisting of groups of rows. Each row group is defined by the matching values in Column A. For example:
......................A... .......... .......... ....B
1..........Group Name 1............Data1
2..........Group Name 1............Data2
3..........Group Name 1............Data3
4..........Group Name 1............Data4
5..........Group Name 2............Data5
6..........Group Name 2............Data6
7..........Group Name 2............Data7
8..........Group Name 3............Data8
9..........Group Name 3............Data9
10........Group Name 4............Data10
11........Group Name 4............Data11
12........Group Name 4............Data12
I'd like to use Conditional Formatting to highlight the highest value in Column B within each row group, but I'm not able to determine a formula to identify the range of each row group.
How would this be done? Thanks for your help.
Dimarc67
Frederick, MD
......................A...
1..........Group Name 1............Data1
2..........Group Name 1............Data2
3..........Group Name 1............Data3
4..........Group Name 1............Data4
5..........Group Name 2............Data5
6..........Group Name 2............Data6
7..........Group Name 2............Data7
8..........Group Name 3............Data8
9..........Group Name 3............Data9
10........Group Name 4............Data10
11........Group Name 4............Data11
12........Group Name 4............Data12
I'd like to use Conditional Formatting to highlight the highest value in Column B within each row group, but I'm not able to determine a formula to identify the range of each row group.
How would this be done? Thanks for your help.
Dimarc67
Frederick, MD
ASKER
Thanks, Martin. I also considered your solution, but I neglected to mention that the spreadsheet is 4000 rows, and is a weekly generated report, so an automated solution is required.
Putting Conditional Formatting aside, can you determine a cell formula that is able to discern the member rows of each group, and then within the group determine the highest value in column B?
Putting Conditional Formatting aside, can you determine a cell formula that is able to discern the member rows of each group, and then within the group determine the highest value in column B?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks, Martin. A macro is something I really hadn't even considered yet, and probably the best solution. Writing code for me was above and beyond. :-)
You're welcome and I'm glad I was able to help.
In my profile you'll find links to some articles I've written that may interest you.
Marty - MVP 2009 to 2014
In my profile you'll find links to some articles I've written that may interest you.
Marty - MVP 2009 to 2014
ASKER
Actually found the way to do this with an array formula that can be used in Conditional Formatting, or within a cell. (Credit to CRondao on StackOverflow.com.)
=MAX(IF(A1=$A$1:$A$12,$B$1 :$B$12))
At first, this seemed incorrect because it was returning the highest value in all of column B instead of within each group. However, to enter an array formula, you have to press Ctrl-Shift-Enter after placing the formula in the cell (instead of just Enter). Once that's done, the formula displays in the formula bar within braces ({ }) to indicate that it's an array formula.
Once it was entered into cell C1 as an array formula, I then copied it to all column C cells normally, and each row then correctly displayed the highest column B value within each name group.
=MAX(IF(A1=$A$1:$A$12,$B$1
At first, this seemed incorrect because it was returning the highest value in all of column B instead of within each group. However, to enter an array formula, you have to press Ctrl-Shift-Enter after placing the formula in the cell (instead of just Enter). Once that's done, the formula displays in the formula bar within braces ({ }) to indicate that it's an array formula.
Once it was entered into cell C1 as an array formula, I then copied it to all column C cells normally, and each row then correctly displayed the highest column B value within each name group.
The picture below shows the addition of the first group's Data Validation. It may be confusing but I gave the Named Ranges the name of the group even though the named range is in col B. After you enter the name of the named range in the data validation window it will be change to the actual cell range when you look at it again.
Q-28513050.xlsm