这是我需要实现的目标:
如果单元格由管理员或经过身份验证的用户以外的值组成,我想更改单元格的格式。 如果它包含Administrator和Authenticated用户,则不会更改格式。 但是,如果它包含异常,例如“Everyone”或“Backup Operators”,则会标记单元格。 基本上,如果单元格包含Administrator或Authenticated User以外的任何内容,则单元格的格式会发生变化。
示例:
Administrator, Authenticated User - Format Unchanged
Administrator - Format Unchanged
Authenticated User - Format Unchanged
Administrator, Authenticated User, Everyone - Format Changed
Everyone - Format Changed
我尝试了多种方法来解决这个问题,但它们似乎并没有起作用。我使用公式来确定条件格式下的单元格格式。
=AND(NOT(ISERROR(SEARCH("Admin","CELL"))), NOT(ISERROR(SEARCH("Auth","CELL"))))
=NOT(OR(NOT(ISERROR(SEARCH("Admin",F132))), NOT(ISERROR(SEARCH("Auth",F132)))))
现在我被困住了,我不知道该怎么办。 任何帮助将不胜感激!
答案 0 :(得分:1)
如果单元格包含,请添加要突出显示的名称,只需使用包含的文本:
答案 1 :(得分:0)
@ user2140261提供的解决方案效果很好。但是,如果您想要一个更加动态的解决方案,您不必添加除“管理员”和“经过身份验证的用户”之外的所有可能性,那么您可以尝试使用此公式
=IF(LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"Administrator",""),"Authenticated User",""),", ",""),"ANOTHER NAME HERE", ""))>0,TRUE,FALSE)
从内到外打破这个公式
SUBSTITUTE
在源单元格中用“”替换任何出现的Administrator SUBSTITUTE
在上面的结果中用“”替换任何出现的经过身份验证的用户SUBSTITUTE
在上面的结果中用“”替换任何出现的“,”LEN
来测试上面结果的长度,如果它大于0,那么管理员或经过身份验证的用户以外的其他内容就在单元格中。结果是
Administrator, Authenticated User FALSE
Authenticated User FALSE
Authenticated User, Administrator FALSE
Authenticated User, Administrator, Everyone TRUE
Everyone TRUE
如果这是真的,那就意味着格式需要改变。
修改强> 为了说明您现在要添加/删除更多值并且能够轻松自定义它,最简单的方法是执行UDF:
Public Function SUBSTITUTEARRAY(ByVal Source As Range, ByVal Substitute As Range) As String
Dim c As Range
Dim rtn As String
rtn = Source.Value
For Each c In Substitute.Cells
rtn = Application.WorksheetFunction.Substitute(rtn, c.Value, "")
Next c
SUBSTITUTEARRAY = rtn
End Function
您要调用的内容:=SUBSTITUTEARRAY(A1, F1:F5)
其中A是您要检查的源单元格,F1:F5包含您要检查的值(“管理员”,“经过身份验证的用户”等... )
它将返回TRUE
或FALSE
,具体取决于是否还有其他值,而不是单元格中的值。