How to Add Above Average Conditional Formatting
Possible Usage Scenarios
Using Above Average Conditional Formatting in tools like Microsoft Excel or Google Sheets is a quick and visual way to highlight data that stands out—specifically, values that are higher than the average in a range. Here’s why you might use it:
- Spot Trends Quickly: It helps you instantly identify high-performing values without manually calculating averages or scanning numbers.
- Simplify Data Analysis: You don’t need to calculate or input any formulas—it’s an automatic way to apply logic-based formatting, saving time.
- Enhance Visual Appeal: Color-coding helps make your spreadsheet easier to read and more visually engaging, especially during presentations.
- Supports Decision Making: Quickly identifying values above average can drive actions, such as rewarding high performers or investigating why certain products are outperforming others.
How to Add Above Average Conditional Formatting Using Excel
To add Above Average conditional formatting in Excel, here’s how you can do it step by step:
- Select the range of cells you want to apply the formatting to. For example: A1:A20.
- Go to the Home tab on the ribbon.
- Click on Conditional Formatting in the Styles group.
- Hover over Top/Bottom Rules.
- Click Above Average…
- In the dialog box that appears: It will automatically detect “Format cells that are ABOVE average.” You can change the formatting style by clicking the drop-down next to with (e.g., choose a color fill or custom format).
- Click OK. All cells in your selected range that are above the average of that range will be highlighted.
How to Add Above Average Conditional Formatting Using Aspose.Cells for .NET
Aspose.Cells fully supports the conditional formatting provided by Microsoft Excel 2007 and later versions in XLSX format on cells at runtime. This example demonstrates an exercise for Above Average conditional formatting with different sets of attributes.
private void TestAboveAverage() | |
{ | |
// Instantiate a workbook object | |
Workbook book = new Workbook(); | |
// Create a worksheet object and get the first worksheet | |
Worksheet _sheet = book.Worksheets[0]; | |
AddAboveAverage(_sheet); | |
AddAboveAverage2(_sheet); | |
AddAboveAverage3(_sheet); | |
book.Save(filePath + "AboveAverage.xlsx"); | |
} | |
// This method implements the AboveAverage conditional formatting type. | |
private void AddAboveAverage(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("A11:C12", Color.Tomato, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.AboveAverage); | |
FormatCondition cond = conds[idx]; | |
cond.Style.BackgroundColor = Color.Pink; | |
cond.Style.Pattern = BackgroundType.Solid; | |
} | |
// This method implements an AboveAverage conditional formatting type with some custom attributes. | |
private void AddAboveAverage2(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("A13:C14", Color.Empty, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.AboveAverage); | |
FormatCondition cond = conds[idx]; | |
cond.AboveAverage.IsAboveAverage = false; | |
cond.AboveAverage.IsEqualAverage = true; | |
cond.Style.BackgroundColor = Color.Pink; | |
cond.Style.Pattern = BackgroundType.Solid; | |
} | |
// This method implements an AboveAverage conditional formatting type with some custom attributes. | |
private void AddAboveAverage3(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("A15:C16", Color.Empty, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.AboveAverage); | |
FormatCondition cond = conds[idx]; | |
cond.AboveAverage.IsAboveAverage = false; | |
cond.AboveAverage.IsEqualAverage = true; | |
cond.AboveAverage.StdDev = 3; | |
cond.Style.BackgroundColor = Color.Pink; | |
cond.Style.Pattern = BackgroundType.Solid; | |
} | |
// This method adds formatted conditions. | |
private FormatConditionCollection GetFormatCondition(string cellAreaName, Color color, Worksheet _sheet) | |
{ | |
// Adds an empty conditional formattings | |
int index = _sheet.ConditionalFormattings.Add(); | |
// Get the formatted conditions | |
FormatConditionCollection formatConditions = _sheet.ConditionalFormattings[index]; | |
// Get the cell area calling the custom GetCellAreaByName method | |
CellArea area = GetCellAreaByName(cellAreaName); | |
// Add the formatted conditions cell area. | |
formatConditions.AddArea(area); | |
// Call the custom FillCell method | |
FillCell(cellAreaName, color, _sheet); | |
// Return the formatted conditions | |
return formatConditions; | |
} | |
// This method specifies the cell shading color for the conditional formattings cellarea range. | |
private void FillCell(string cellAreaName, Color color, Worksheet _sheet) | |
{ | |
CellArea area = GetCellAreaByName(cellAreaName); | |
int k = 0; | |
for (int i = area.StartColumn; i <= area.EndColumn; i++) | |
{ | |
for (int j = area.StartRow; j <= area.EndRow; j++) | |
{ | |
Cell c = _sheet.Cells[j, i]; | |
if (!color.IsEmpty) | |
{ | |
Style s = c.GetStyle(); | |
s.ForegroundColor = color; | |
s.Pattern = BackgroundType.Solid; | |
c.SetStyle(s); | |
} | |
// Set some random values to the cells in the cellarea range | |
int value = j + i + k; | |
c.PutValue(value); | |
k++; | |
} | |
} | |
} | |
// This method specifies the CellArea range (start row, start col, end row, end col etc.) | |
// For the conditional formatting | |
internal static CellArea GetCellAreaByName(string s) | |
{ | |
CellArea area = new CellArea(); | |
string[] strCellRange = s.Replace("$", "").Split(':'); | |
int column; | |
CellsHelper.CellNameToIndex(strCellRange[0], out area.StartRow, out column); | |
area.StartColumn = column; | |
if (strCellRange.Length == 1) | |
{ | |
area.EndRow = area.StartRow; | |
area.EndColumn = area.StartColumn; | |
} | |
else | |
{ | |
CellsHelper.CellNameToIndex(strCellRange[1], out area.EndRow, out column); | |
area.EndColumn = column; | |
} | |
return area; | |
} |