Excel 根据单元格范围中的字母高亮显示列中的单元格

Excel 根据单元格范围中的字母高亮显示列中的单元格,excel,excel-formula,formula,conditional-formatting,Excel,Excel Formula,Formula,Conditional Formatting,我有一列指示项目进度(百分比),如果相应行中没有字母p,则该列应变为红色。根据以下公式,会发生一些非常奇怪的事情: =ISERROR(FIND("p",$H5:$Y65)) 因此,我将p设置为非错误,不包含p的单元格应设置为红色。但是,使用此公式,只有当第一列中有P即H时,它才会格式化。该公式似乎忽略了H之后的所有其他列 有什么建议吗?没有您搜索的功能,它在字符串中搜索,而不是在数组中搜索。尝试在相关列和主页>样式-条件格式,新规则…中从第5行到第65行进行选择,使用公式确定要格式化的单元格,

我有一列指示项目进度(百分比),如果相应行中没有字母
p
,则该列应变为红色。根据以下公式,会发生一些非常奇怪的事情:

=ISERROR(FIND("p",$H5:$Y65))
因此,我将
p
设置为非错误,不包含
p
的单元格应设置为红色。但是,使用此公式,只有当第一列中有
P
即H时,它才会格式化。该公式似乎忽略了H之后的所有其他列

有什么建议吗?

没有您搜索的功能,它在字符串中搜索,而不是在数组中搜索。尝试在相关列和主页>样式-条件格式,新规则…中从第5行到第65行进行选择,使用公式确定要格式化的单元格,并格式化此公式为真的值:

=ISERROR(MATCH("P",$H5:$Y5,0))
格式化…,选择红色填充,确定,确定


假设
p
是整个单元格内容,而不仅仅是其中的一部分。

我会重新考虑你的范围,你说对应的行,Y65而不是Y5是一个印刷错误吗?如果您使用当前公式填写,您将有重叠的单元格,因为下一行将覆盖H6:Y66,并且将再次检查范围H6:Y65

也就是说,pnuts是正确的,但您可以通过用户定义的功能实现这一点,例如:

函数BooleanRangeFind(SearchRange作为范围,MatchCriteria作为字符串,casesensitive作为布尔值)作为布尔值
变暗Rng As范围
暗游标字符串
'检查匹配条件并将其更改为大写,这是
“忽略案例敏感性的最简单方法
如果CaseSensative=False,则MC=UCase(匹配标准)
'遍历范围中的每个单元格并检查匹配条件
“在每个单元中
对于搜索范围内的每个Rng
“案例敏感性检查”
如果casesensitive=False,则
CurStr=UCase(参考值)
其他的
CurStr=参考值
如果结束
如果仪表(1,游标,MC)为0,则
'如果MC在当前范围内
“公式停止查找并返回
“真的吗
BooleanRangeFind=True
退出功能
如果结束
下一个Rng
'默认值为False
BolleanRangeFind=False
端函数
你的公式是什么

=BooleanRangeFind($H6:$Y65,"p",False)
或者如果我的假设是正确的:

=BooleanRangeFind($H6:$Y6,"p",False)

这将允许您检查P是否包含在字符串中,如果P是整个单元格内容,则pnuts的解决方案要简单得多。这就像做梦一样!感谢大家的贡献:)