基于多个单元格和值的Excel条件格式

基于多个单元格和值的Excel条件格式,excel,validation,excel-formula,excel-2010,data-cleaning,Excel,Validation,Excel Formula,Excel 2010,Data Cleaning,我正在尝试对特定数据库实现各种条件格式。在这附近寻找答案,但找不到类似的答案。可能不可能,但值得一试。 我正在进行各种数据清理和验证。 情况如下:(小样本,在此特定文件中使用100k数据项) 最终,我想要的是一个公式,它将最后一个“下划线”之后的低级描述字符与更高级(突出显示)最后一个“下划线”之后的字符进行比较。如果不匹配,则突出显示单元格 要求太多,是的,不是,也许?我愿意接受关于如何执行各种数据清理和验证的任何其他建议 谢谢大家! 如果必须使用最后一个“下划线”字符,并且不能依赖后缀为四

我正在尝试对特定数据库实现各种条件格式。在这附近寻找答案,但找不到类似的答案。可能不可能,但值得一试。
我正在进行各种数据清理和验证。
情况如下:(小样本,在此特定文件中使用100k数据项)

最终,我想要的是一个公式,它将最后一个“下划线”之后的低级描述字符与更高级(突出显示)最后一个“下划线”之后的字符进行比较。如果不匹配,则突出显示单元格

要求太多,是的,不是,也许?我愿意接受关于如何执行各种数据清理和验证的任何其他建议

谢谢大家!

如果必须使用最后一个“下划线”字符,并且不能依赖后缀为四个字符,那么公式将变得相当复杂。为了简单起见,我假设较高级别总是缺少较低级别的最后五个字符,如果必须使用最后一个“破折号”字符,那么这将要长得多

使用此公式高亮显示单元格,将两个名称级别和描述定义为两列:

=IFNA(MID(B2,FIND("[]",SUBSTITUTE(B2,"_","[]",LEN(B2)-LEN(SUBSTITUTE(B2,"_",""))))+1,999)<>MID(INDEX(DESCRS,MATCH(LEFT(A2,LEN(A2)-5),LEVELS,0),1),FIND("[]",SUBSTITUTE(INDEX(DESCRS,MATCH(LEFT(A2,LEN(A2)-5),LEVELS,0),1),"_","[]",LEN(INDEX(DESCRS,MATCH(LEFT(A2,LEN(A2)-5),LEVELS,0),1))-LEN(SUBSTITUTE(INDEX(DESCRS,MATCH(LEFT(A2,LEN(A2)-5),LEVELS,0),1),"_",""))))+1,999),FALSE)
=IFNA(中间(B2,查找([]),替换(B2,“[]”,“[]”,LEN(B2)”))+1999)中间(索引(描述,匹配(左(A2,LEN(A2)-5),级别,0),1),查找([]),替换(索引(描述,匹配(左(A2,LEN(A2)-5),级别,0),1),“,”,“[]”,LEN(索引,匹配(描述,匹配(左(A2,LEN)(A2)-5),级别,0),1-LEN(描述,匹配),级别,匹配(左(A2,A2),级别),级别,匹配)0)(一),","1999","假")
这使用了一个非常好的技巧,使用
SUBSTITUTE
查找字符的最后一次出现


顺便说一句,我可能会编写一个Perl程序来解析数据并查找错误。

什么是“低级别”和“高级别”?@NetMage higher level高亮显示。@pnuts数据输入错误。应该是地铁,这些差异是我正在寻找的for@pnuts有希望地?在较高级别中查找下划线后的最后一个字符,将其与较低级别进行比较,如果不相等-高亮显示?
LEVELS
DESCR
是您需要为level和Description列定义的名称,以便公式可以对其进行搜索和匹配。或者您可以用绝对列引用替换它们(如
$A
$B
)。@NetMage感谢您的回复!但是,它没有对我的数据运行任何格式设置。更高级别总是缺少最后五个字符,因此这不是问题所在。然而,描述中“下划线”后的最后一个字符的数量有所不同,因此在这种情况下,需要查找下划线并进行高级比较。您是否将其设置为描述列的条件格式?你给这两个名字下定义了吗?您可以将公式粘贴到描述右侧的单元格中,以查看该单元格中的值是否为TRUE或FALSE,从而验证其是否有效。