有什么公式可以助我一臂之力?excel达人请入

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:31:43
如何筛选出一列与二列完全相同的、一列与二列完全完全不同的、一列与二列部分相同的行数据?????
厦门万石——的确如你所述,只是多个空格的和多个标点的算是一类,属于录入不规/录错;1、3、4算是特殊标注类。这些也要分,但是说的太复杂我担心提供答案的会把我搞糊涂,所以没说那么细 。
shuhua0715 ——用了你的公式后出现了另一种情况:“金泉”和“金全”属于部分相同,但是“杜艳萍”和“杜艳平”就属于不同

1)找完全相同的,简单,“=”一下两个单元格看结果是ture或false就行了
2)找部分相同的,就类似于人工智能了,很难。要有详细的规则,公式显然做不到;人一眼看出的东西,经过了大脑复杂的判断,比如“于立 ”和“于立”应该一样,虽然多输了一个空格;又比如“冯大君*”和“冯大君”可以说一样,也可以说不一样,要看你认为“*”有没有代表什么含义。又如“(经济)肖芳”比“肖芳”更具体,但是判断人名时它们是一样的。即使像“于立”和“立于”这种只是顺序颠倒的组合,也要实现约定规则,程序才能判断,虽然一般认为这两个完全不是一回事,但程序可能认为它们相似
这么说下来,可能你连规则都定不出来
3)所以,如果数据少,自己判断一下,瞬间解决;如果数据多,首先应该规范录入的数据,不要使判断太难,并尽量能定义自己明白别人也能明白的规则
以上建议参考

我补充一下(从纯粹字符串比较的角度,不含其它常识的判断),
既然是比较字符串,就应该用文本函数去解决,使用ISNUMBER结果不可控
4)首先删除空格及替换标点之类的特殊字符,使用REPLACE函数
也许还要用WIDECHAR或ASC函数,统一为双字节或单字节,避免“-”、“—”的干扰
5)判断完全包含关系
根据两个字符串的长度,使用FIND函数分“>”、“<”、“=”判断,如IF(LEN(A1)>LEN(B1),FIND(B1,A1,1)是在A1中找B1
总的公式为IF(LEN(a1)>LEN(b1),IF(FIND(b1,a1,1),"包含","不包含"),IF(LEN(a1)<LEN(b1),IF(FIND(a1,b1,1),"包含","不包含"),IF(a1=b1,"相同","不同")))
6)对以上“不包含”、“不同”两种结果进一步判断是否存在部分包含关系
这时候要从一个字符串中抽出一个或几个字符(小于它的长度)与另一个字符串比较,方法同上。根据字符串长度,即使只比较一个字符,也会有很多层嵌套,用公式就不能一劳