php 单元格条件高亮,Excel条件格式实现选中查找的单元格高亮技巧

内容提要:本文的excel 查找选中单元格高亮颜色操作技巧,结合了数据有效性、条件格式、VLOOKUP函数和其他的知识点完成.

本文介绍的excel查找选中单元格高亮显示操作技巧非常的实用,很适合在查询核对数据时能够突出显示查找到的数据。

案例要实现的最终效果说明:比如:当我们在B10单元格选中二月,B11单元格选择四组,对应的数据为199的C5单元格高亮黄色显示。对应的二月和四组的行列单元格数据区域高亮显示为红色。

85312385_1

第一步:首先单击B10单元格,执行“数据——数据有效性”,按下面截图的参数来设置数据有效性,数据来源是B1:E1,也就是月份所在单元格区域。

85312385_2

第二步:单击B11单元格,按步骤一的方法设置数据有效性,数据来源为A2:A8,也就是小组所在的单元格区域。这样设置后,就可以通过下拉菜单来选择月份和工作组了。

85312385_3

85312385_4

公式剖析:VLOOKUP函数以B11单元格的小组为查询值,查询区域为A:E列。

MATCH(B10,A1:E1,)部分,由MATCH函数查询出B10在A1:E1单元格区域的位置。

MATCH函数的结果作为VLOOKUP函数指定要返回的列数。

当调整B10单元格中的月份时,MATCH函数的结果是动态变化的,作用给VLOOKUP函数,就返回对应列的内容。

第四步:条件格式设置:当列标题等于B10中的月份时,这一列的内容就高亮显示为红色。

当行标题等于B11中的小组时,这一行的内容就高亮显示为红色。

选中B2:E8单元格区域,按下图设置条件格式,条件格式的公式为:=(B$1=$B$10)+($A2=$B$11)

85312385_5

说明:在设置条件格式时,公式是针对活动单元格的,设置后会自动将规则应用到选中的区域中。

公式中的“+”意思是表示两个条件满足其一,就是“或者”的意思。

如果单元格所在列的列标题等于B10中的月份,或者行标题等于B11中的小组,两个条件满足其一,即可高亮显示符合条件的该区域为红色。

第五步:接下来我们设置单元格高亮显示的聚焦单元格颜色。如果同时符合行标题和列标题两个条件,则高亮显示。同样选择B2:E8单元格区域,参考上一步设置条件格式的步骤,使用以下公式:=(B$1=$B$10)*($A2=$B$11)

85312385_6

这个操作步骤的公式和上一步的公式非常相似,只是将加号变成了乘号,表示要求两个条件同时成立,单元格聚焦变色。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用 Apache POI 实现导出 Excel 并为单元格设置条件高亮显示的示例: ```java import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.xssf.usermodel.*; public class ExcelExport { public static void main(String[] args) throws Exception { // 创建工作簿 Workbook workbook = new XSSFWorkbook(); // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建行 Row row = sheet.createRow(0); // 创建列 Cell cell = row.createCell(0); // 设置单元格值 cell.setCellValue(80); // 设置单元格样式 CellStyle style = workbook.createCellStyle(); style.setDataFormat(workbook.createDataFormat().getFormat("0")); cell.setCellStyle(style); // 创建条件格式规则 ConditionalFormattingRule rule = sheet.getSheetConditionalFormatting().createConditionalFormattingRule( ComparisonOperator.GE, "80"); // 创建填充模式 PatternFormatting fill = rule.createPatternFormatting(); fill.setFillBackgroundColor(IndexedColors.GREEN.index); fill.setFillPattern(PatternFormatting.SOLID_FOREGROUND); // 创建条件格式区域 CellRangeAddress[] regions = { CellRangeAddress.valueOf("A1:A1") }; // 应用条件格式规则 sheet.getSheetConditionalFormatting().addConditionalFormatting(regions, rule); // 将工作簿写入文件 FileOutputStream fos = new FileOutputStream("test.xlsx"); workbook.write(fos); fos.close(); workbook.close(); } } ``` 这个示例实现了将数字 80 写入单元格 A1,然后将单元格 A1 的背景色设置为绿色,当单元格的值大于等于 80 时,可以根据需要修改这些值以适应您的场景。 希望这可以帮助您实现您的需求,如果您有任何问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值