求EXCEL公式,AB两列数据对比,两列都存在相同的字符时,在对应的第三列C列标记 20

如图所示,当A列中加引号的字符与B列中加引号的字符相同时,在C列显示有,否则显示无求一个能用的excel公式或者python代码也行... 如图所示,当A列中加引号的字符与B列中加引号的字符相同时,在C列显示有,否则显示无求一个能用的excel公式或者python代码也行 展开
 我来答
heping956
2020-09-02 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:81%
帮助的人:2580万
展开全部

如果A列有引号的,最多2个,可以用公式。因为双引号不能直接查找,用CHAR(34)代替。

  1. 提取第一个有引号的字符

    请点击输入图片描述

    E1公式=IFERROR(MID(A1,FIND(CHAR(34),A1)+1,3),"")

  2. 请点击输入图片描述

    F1公式=IFERROR(MID(A1,FIND(CHAR(34),A1,FIND(CHAR(34),A1)+5)+1,3),"")

  3. 请点击输入图片描述

    C1公式=IF(COUNTIF(E:F,MID(B1,FIND(CHAR(34),B1)+1,3)),"有","无")
侯玉川
科技发烧友

2020-09-02 · 教育领域创作者
个人认证用户
侯玉川
采纳数:2041 获赞数:3562

向TA提问 私信TA
展开全部
这个用EXCEL自带的VBA代码比较容易实现。公式也可以 ,但是实现起来比较麻烦。所以建议用VBA,使用正则表达式+数组函数, 将其处理成数组,然后循环核对就可以。
思路是,根据字符,将单元格数据拆分成数组。用左侧数组和右侧数组进行逐一核对,如果核对过程中有相同的,则标识有,无相同的则表示无。
最好有原数据表,需要观察你的数据规律。根据你的数据规律进行处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ssg365
科技发烧友

2020-09-02 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:7471
采纳率:52%
帮助的人:1848万
展开全部

第6行是根据什么判定为“有”的

问题本身不难,但这个让我困惑。

晓得了。

那公式见图吧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1陈杭荣
科技发烧友

2020-09-02 · 有一些普通的科技小锦囊
知道小有建树答主
回答量:1954
采纳率:57%
帮助的人:310万
展开全部

=IF(COUNTIF($A$1:$A$2,"*"&MID(B1,FIND(CHAR(34),B1)+1,3)&"*"),"有","无")

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mr_wumingxu
2020-09-02
知道答主
回答量:37
采纳率:28%
帮助的人:8万
展开全部

一、中文双引号“”的情况:

将下面的公式复制到C1,然后按Ctrl+Shift+Enter,最后下拉填充,效果如下图。

=IF(B1="","",IF(ISERROR(VLOOKUP(MID(B1,FIND("“",B1),FIND("”",B1)-FIND("“",B1)+1),MID(A:A,FIND("“",A:A),FIND("”",A:A)-FIND("“",A:A)+1),1,0)),"无","有"))

请点击输入图片描述


二、英双引号""的情况:

将下面的公式复制到C1,然后按Ctrl+Shift+Enter,最后下拉填充,效果如下图。

=IF(B1="","",IF(ISERROR(VLOOKUP(MID(B1,FIND("""",B1),FIND("""",B1,FIND("""",B1)+1)-FIND("""",B1)+1),MID(A:A,FIND("""",A:A),FIND("""",A:A,FIND("""",A:A)+1)-FIND("""",A:A)+1),1,0)),"无","有"))

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jejeso
2020-09-02 · TA获得超过136个赞
知道答主
回答量:21
采纳率:0%
帮助的人:3.4万
展开全部

和大家的都差不多,不过有几个要点:
1. 分开多列,好除错;
2. D列  =FIND("""",B1),在双引号里表达双引号,可以用2个双引号来转义,不需要记ASCII码了;
3. E列  =FIND("""",B1,D1+1) ,当不确定引号里有多长的时候,就要找下一个引号;
4. F列 =MID(B1,D1,1+E1-D1),必须要包含前后引号,不然A列里不在引号里的都被搜出来,很容易“HHJKK” 会找到 HJK的出现;
5. C列 就大家都懂了 =IF(COUNTIF(A:A, "*" & F1 & "*")>0,"有","无"),不用多说,不过用A:A的好处是不需要核对行数是否在范围里。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式