L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

wps-conditional-format

wps-conditional-format

表格自动变色。想让低于60分的自动变红?想加个进度条效果?想要红绿灯图标? 帮你设置条件格式,数据条、色阶、图标集、重复值高亮,还提供JSA宏代码。 用于帮助用户设置表格条件格式。当用户提到条件格式、自动变色、数据条、红绿灯时触发。 Conditional formatting expert - data bars, color scales, icon sets, and rules.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: wps-conditional-format description: | 表格自动变色。想让低于60分的自动变红?想加个进度条效果?想要红绿灯图标? 帮你设置条件格式,数据条、色阶、图标集、重复值高亮,还提供JSA宏代码。 用于帮助用户设置表格条件格式。当用户提到条件格式、自动变色、数据条、红绿灯时触发。 Conditional formatting expert - data bars, color scales, icon sets, and rules. license: MIT user-invocable: true argument-hint: '[格式需求描述]' allowed-tools: 'Read, Grep, Glob, Bash, Write, Edit' metadata: author: BWKYD title: 条件格式设置 description_zh: 设置表格条件格式,比如不及格标红、数据条、图标集等 tags: - 条件格式 - 高亮 - 数据条 - Excel - WPS version: 1.0.1 license: MIT

条件格式专家

让数据自动变色、加图标、显示数据条。一看就懂。

"领导要的那种红绿灯效果,就是条件格式。"

When to Use

  • 数据自动变色(如负数变红)
  • 进度条/数据条效果
  • 红绿灯/图标集
  • 重复值高亮
  • 用户说"怎么让数据自动变色""加个红绿灯"

When NOT to Use

  • 图表可视化 → 使用 wps-chart
  • 公式问题 → 使用 wps-formula

常用条件格式场景

场景1:数值范围变色

需求:成绩≥90绿色,60-89正常,<60红色

openpyxl方式:
from openpyxl import load_workbook
from openpyxl.formatting.rule import CellIsRule
from openpyxl.styles import PatternFill

wb = load_workbook('scores.xlsx')
ws = wb.active

red = PatternFill(start_color='FF6B6B', end_color='FF6B6B', fill_type='solid')
green = PatternFill(start_color='51CF66', end_color='51CF66', fill_type='solid')
yellow = PatternFill(start_color='FFD43B', end_color='FFD43B', fill_type='solid')

ws.conditional_formatting.add('C2:C100',
    CellIsRule(operator='greaterThanOrEqual', formula=['90'], fill=green))
ws.conditional_formatting.add('C2:C100',
    CellIsRule(operator='lessThan', formula=['60'], fill=red))

wb.save('scores_formatted.xlsx')
JSA宏方式:
function HighlightScores() {
    var ws = Application.ActiveSheet;
    var range = ws.Range("C2:C100");
    range.FormatConditions.Delete(); // 清除旧规则

    // >=90 绿色
    var fc1 = range.FormatConditions.Add(1, 5, "90"); // xlCellValue, xlGreaterEqual
    fc1.Interior.Color = 0x66CF51; // BGR绿色

    // <60 红色
    var fc2 = range.FormatConditions.Add(1, 6, "60"); // xlCellValue, xlLess
    fc2.Interior.Color = 0x6B6BFF; // BGR红色

    Application.alert("条件格式已设置!");
}

场景2:数据条(进度条效果)

from openpyxl.formatting.rule import DataBarRule

ws.conditional_formatting.add('D2:D50',
    DataBarRule(start_type='min', end_type='max',
               color='3498DB', showValue=True))
// JSA: 添加数据条
function AddDataBar() {
    var range = Application.ActiveSheet.Range("D2:D50");
    range.FormatConditions.Delete();
    range.FormatConditions.AddDatabar();
    var db = range.FormatConditions.Item(1);
    db.BarColor.Color = 0xDB9834; // BGR蓝色
}

场景3:重复值高亮

from openpyxl.formatting.rule import FormulaRule

ws.conditional_formatting.add('A2:A100',
    FormulaRule(formula=['COUNTIF($A$2:$A$100,A2)>1'],
               fill=PatternFill('solid', fgColor='FFD43B')))
// JSA: 高亮重复值
function HighlightDuplicates() {
    var range = Application.ActiveSheet.Range("A2:A100");
    range.FormatConditions.Delete();
    var fc = range.FormatConditions.AddUniqueValues();
    fc.DupeUnique = 1; // xlDuplicate
    fc.Interior.Color = 0x3BD4FF; // BGR黄色
}

场景4:图标集(红绿灯)

// JSA: 红绿灯图标集
function AddTrafficLights() {
    var range = Application.ActiveSheet.Range("E2:E50");
    range.FormatConditions.Delete();
    var fc = range.FormatConditions.AddIconSetCondition();
    fc.IconSet = Application.ActiveWorkbook.IconSets(1); // 红绿灯
    // 自定义阈值
    fc.IconCriteria(2).Value = 60;
    fc.IconCriteria(3).Value = 90;
}

场景5:隔行变色(斑马纹)

from openpyxl.formatting.rule import FormulaRule

stripe = PatternFill('solid', fgColor='F0F4F8')
ws.conditional_formatting.add('A2:G100',
    FormulaRule(formula=['MOD(ROW(),2)=0'], fill=stripe))

条件格式速查表

需求类型关键参数
大于/小于变色CellIsRuleoperator + formula
包含特定文字FormulaRuleSEARCH函数
重复值高亮UniqueValuesDupeUnique=1
前N名/后N名Top10Rulerank + percent
数据条DataBarRulecolor
色阶(渐变色)ColorScaleRulestart/mid/end_color
图标集IconSetConditionIconSet类型
日期到期提醒FormulaRuleTODAY()比较
隔行变色FormulaRuleMOD(ROW(),2)

工作流程

Step 1: 理解需求

确认要格式化的范围和条件

Step 2: 选择方案

  • openpyxl → 生成新文件
  • JSA宏 → 在WPS中直接运行

Step 3: 生成代码并说明

Step 4: 交付

  1. 提供代码(二选一或两种都给)
  2. 说明如何修改阈值和颜色
  3. 注意事项(规则优先级、性能影响)

示例

# 数值变色
/wps-conditional-format 让销售额低于目标的变红色,超过的变绿色

# 数据条
/wps-conditional-format 给完成率列加个进度条效果

# 重复值
/wps-conditional-format 帮我找出A列有哪些重复的数据
Skills enregistrées