2017-05-19 191 views
-1

我正在尝试对特定数据库实施各种条件格式。在这里寻找答案,但找不到类似的东西。不可能,但值得一试。
我正在执行各种数据清理和验证。
这里的情况:(小样本,在这个特殊的文件,100K数据输入工作)基于多个单元格和值的Excel条件格式化

enter image description here

最后我要的是,将在最后的低级别说明文字比较公式“ UNDERSCORE“后面的字符(高亮显示)。如果不匹配,则突出显示该单元格?

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

谢谢!

+2

什么是“低级”和“高级”? – NetMage

+0

@NetMage高亮显示。 – bg777a

+0

@pnuts数据录入错误。应该是港铁,这些差异是我期待的 – bg777a

回答

2

如果您必须使用最后一个“UNDERSCORE”字符,并且不能依赖于四个字符的后缀,则公式将变得非常复杂。为了简单起见,我假设较高级别总是缺少较低级别的最后五个字符,如果您必须经过最后一个“DASH”字符,那么这将会更长。

用这个公式来突出细胞,定义了两个名字水平和DESCRS是两列:

=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) 

这使用了一个非常好的技巧与SUBSTITUTE找到一个字符的最后一次出现。

顺便说一句,我可能会写一个Perl程序来解析数据和发现错误。

+0

替代技巧很整齐。什么是“DESCRS” – Ravi

+0

“LEVELS”和“DESCR”是您需要为** Level **和** Descr ** iption列定义的名称,以便公式可以在它们上进行搜索和匹配。或者你可以用绝对列引用替代它们(比如'$ A'和'$ B')。 – NetMage

+0

@NetMage谢谢你的回复!但是,它没有针对我的数据运行任何格式。更高级别总是缺少最后五个字符,所以这不是问题。描述中“UNDERSCORE”后面的最后一个字符数量会有所不同,因此在这种情况下,需要查找下划线并将比较结果设置为高级别。 – bg777a

相关问题