Как добавить условное форматирование Top10
Возможные сценарии использования
Использование условного форматирования Top 10 в Excel помогает быстро выделить самые успешные значения в наборе данных — не только фактические топ 10 значений, но и часто топ N или топ N% (вы можете выбрать!).
- Обнаружение трендов и выбросов: мгновенно определяйте лучших исполнителей (например, топ 10 продавцов, лучшие оценки, месяцы с наибольшим доходом). Упрощает анализ без сортировки данных.
- Визуализация данных: добавляет цветовые подсказки, которые делают важные показатели визуально заметными. Помогает пользователям таблицы быстро понять ключевые значения.
- Быстрые сравнения: полезно в информационных панелях и отчетах, где нужно выделить лучшие показатели или пики.
- Динамические обновления: если ваши данные изменятся, условное форматирование автоматически обновится, чтобы отразить новые топовые значения.
Как добавить условное форматирование Top10 в Excel
Вот пошаговая инструкция по добавлению условного форматирования Top10 в Excel:
- Выделите диапазон ячеек, который хотите проанализировать. Например, выберите B2:B100, если работаете с оценками или продажами.
- Перейдите на вкладку Главная на ленте Excel.
- Нажмите на Условное форматирование в группе Стиль.
- Наведите курсор на Правила для верхних/нижних значений в выпадающем списке.
- Выберите Верхние 10 элементов… Появится диалоговое окно: оно скажет: Форматировать ячейки, которые занимают топ 10. Вы можете изменить число (например, Верхних 5, Верхних 3 и т.д.). Выберите формат (например, светло-красное заполнение, жирный текст или нажмите Настраиваемый формат для дополнительных опций).
- Нажмите ОК
Как добавить условное форматирование Top10 с помощью Aspose.Cells for .NET
Aspose.Cells полностью поддерживает условное форматирование, предоставляемое Microsoft Excel 2007 и более поздними версиями в формате XLSX на этапе выполнения. Этот пример демонстрирует упражнение по условному форматированию Top 10 с разными наборами атрибутов.
private void TestTop10() | |
{ | |
// Instantiate a workbook object | |
Workbook book = new Workbook(); | |
// Create a worksheet object and get the first worksheet | |
Worksheet _sheet = book.Worksheets[0]; | |
AddTop10_1(_sheet); | |
AddTop10_2(_sheet); | |
AddTop10_3(_sheet); | |
AddTop10_4(_sheet); | |
book.Save(filePath + "Top10.xlsx"); | |
} | |
// This method implements a simple Top10 conditional formatting type. | |
private void AddTop10_1(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("A17:C20", Color.Gray, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.Top10); | |
FormatCondition cond = conds[idx]; | |
cond.Style.BackgroundColor = Color.Yellow; | |
cond.Style.Pattern = BackgroundType.Solid; | |
} | |
// This method implements another Top10 conditional formatting type. | |
private void AddTop10_2(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("A21:C24", Color.Green, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.Top10); | |
FormatCondition cond = conds[idx]; | |
cond.Style.BackgroundColor = Color.Pink; | |
cond.Style.Pattern = BackgroundType.Solid; | |
cond.Top10.IsBottom = true; | |
} | |
// This method implements another Top10 conditional formatting type with some custom attributes. | |
private void AddTop10_3(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("A25:C28", Color.Orange, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.Top10); | |
FormatCondition cond = conds[idx]; | |
cond.Style.BackgroundColor = Color.Blue; | |
cond.Style.Pattern = BackgroundType.Solid; | |
cond.Top10.IsPercent = true; | |
} | |
// This method implements another Top10 conditional formatting type with some custom attributes. | |
private void AddTop10_4(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("A29:C32", Color.Gold, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.Top10); | |
FormatCondition cond = conds[idx]; | |
cond.Style.BackgroundColor = Color.Green; | |
cond.Style.Pattern = BackgroundType.Solid; | |
cond.Top10.Rank = 3; | |
} | |
// 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; | |
} |