excel 字符串 比较 问题较复杂,但50财富已经是我全部家当了,有请达人赐教。

问题:excel表格中A列数据为长度不一的汉字。
如果A列中某单元格的汉字字符串中,含有A列另外一个单元格汉字字符串中相邻2个字符的组合(如果是3个,需要如何变化?)则在同一行的B列将相同的字符列出来,
如果同一单元格包含本列多个单元格相同的字符,这些字符之间又有区别,则把这些字符相加,用“+”连接。最好能够过滤一些不必要的词语如“世界”、“公司”等,
如:(在其他列可以有过渡的公式,只要在B列得出正确的答案就行)
A列 B列
世界金典广场 金典+广场
环球公司 环球
世界第一公司
中国金典广场 金典+广场
环球金典酒店 环球+金典
环球公司 环球
环球金典广场 环球+金典+广场
如果是比较A列和B列之间的字符串,相同的要素放在C列,又要如何改动呢?
请教如何实现,谢谢!
谢谢热心网友。上面的例子的确不恰当,现补充如下:
A列
1、世界金典广场
2、环球金融
3、世界第一公司
4、环球金典公司
我想实现的是:如上所示,A列有4个长度不一的词,
第一步,按照从左到右的顺序,以2个相邻的字符为单位进行截取,则:
第1个为:①“世界”、②“界金”、③“金典”、④“典广”、⑤“广场”;
第2个为:①“环球”、②“球金”、③“金融”;
第3个为:①“世界”、②“界第”、③“第一”、④“一公”、⑤“公司”;
第4个为:①“环球”、②“球金”、③“金典”、④“典公”、⑤“公司”。
第二步,将这4个词截取后的结果作比较,如第1个词,其中:①“世界”、③“金典”都与其他结果有重复,将重复的列在B列,不同的结果之间以“+”连接,同时我要特定剔除“世界”、“公司”两个词,如此类推则有结果:
A列 分割线 B列
1、世界金典广场 | 金典
2、环球金融 | 环球+球金
3、世界第一公司 |
4、环球金典公司 | 环球+球金+金典
做到这一步就行了,请各位大侠施援手,年终的表还未有搞定,手工操作中,痛苦啊。
最新回答
好好做人

2024-11-06 06:59:35

这个问题的确让EXCEL有点为难,我出于好奇做了一下,勉强能做出来,不知道是否符合你的要求

如下图:

B1公式

=IF(COLUMN(A:A)<=LEN($A1)-1,MID($A1,COLUMN(A:A),2),"")

向右拉,向下拉

H1=IF(COLUMN(A:A)>SUMPRODUCT(N(COUNTIF($B$1:$F$10,$B1:$F1)*($B1:$F1<>"世界")*($B1:$F1<>"公司")>1)),"",INDEX(1:1,SMALL(IF(COUNTIF($B$1:$F$10,$B1:$F1)*($B1:$F1<>"世界")*($B1:$F1<>"公司")>1,COLUMN($B1:$F1)),COLUMN(A:A))))

数组公式,CTRL+SHIFT+ENTER结束

向右拉,向下拉

补充:如果公司名称很长,要怎么办呢?

清风未央

2024-11-06 00:16:46

能否说的清楚点,最好带上例子。特别是这句:
如果A列中某单元格的汉字字符串中,含有A列另外一个单元格汉字字符串中相邻2个字符的组合(如果是3个,需要如何变化?)则在同一行的B列将相同的字符列出来,注意对你的例子进行说明。
殇情

2024-11-06 14:27:30

请加QQ565293083说明问题