Wps conditional format
42个WPS办公技能,一键安装全搞定。写公文、做报表、排论文、做PPT、算工资、生成合同....覆盖你80%的日常办公场景,让WPS变成你的智能助手。
npx -y skills add Bwkyd/wps-skills --skill wps-conditional-formatAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
表格自动变色。想让低于60分的自动变红?想加个进度条效果?想要红绿灯图标? 帮你设置条件格式,数据条、色阶、图标集、重复值高亮,还提供JSA宏代码。 用于帮助用户设置表格条件格式。当用户提到条件格式、自动变色、数据条、红绿灯时触发。 Conditional formatting expert - data bars, color scales, icon sets, and rules.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.5 KB, as published. Nobody here has run it
条件格式专家
让数据自动变色、加图标、显示数据条。一看就懂。
"领导要的那种红绿灯效果,就是条件格式。"
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))
条件格式速查表
| 需求 | 类型 | 关键参数 |
|---|---|---|
| 大于/小于变色 | CellIsRule | operator + formula |
| 包含特定文字 | FormulaRule | SEARCH函数 |
| 重复值高亮 | UniqueValues | DupeUnique=1 |
| 前N名/后N名 | Top10Rule | rank + percent |
| 数据条 | DataBarRule | color |
| 色阶(渐变色) | ColorScaleRule | start/mid/end_color |
| 图标集 | IconSetCondition | IconSet类型 |
| 日期到期提醒 | FormulaRule | TODAY()比较 |
| 隔行变色 | FormulaRule | MOD(ROW(),2) |
工作流程
Step 1: 理解需求
确认要格式化的范围和条件
Step 2: 选择方案
- openpyxl → 生成新文件
- JSA宏 → 在WPS中直接运行
Step 3: 生成代码并说明
Step 4: 交付
- 提供代码(二选一或两种都给)
- 说明如何修改阈值和颜色
- 注意事项(规则优先级、性能影响)
示例
# 数值变色
/wps-conditional-format 让销售额低于目标的变红色,超过的变绿色
# 数据条
/wps-conditional-format 给完成率列加个进度条效果
# 重复值
/wps-conditional-format 帮我找出A列有哪些重复的数据