如何删除从excel单元格重复的文本部分 - 是否有公式?

时间:2016-05-07 22:53:27

标签: excel-formula substitution repeat

我不是高级用户,但我会尝试具体。 有谁知道如何做以下:我在单元格A1中有一些短语。我在单元格B1中有相同的短语,但B1可能包含和其他一些短语。我在C1单元格中的首选结果是来自B1的文本没有来自单元格A1的特定短语在A1中显示的次数 无论它出现在哪里< / strong>在A1)。对A2,B2,C2,A3,B2,C3 ......等等

让我在一个例子中解释一下:我想只删除短语&#34; Msg来自&#34;来自B1(很多次&#34; Msg来自&#34;出现在A1中,无论在哪里&#34; Msg来自&#34;出现在A1中)

A1 Smth else,Msg from,Msg from ---&gt;来自&#34;

的两个&#34; Msg

来自其他人的信息来自,其他女士,来自其他人的信息,其他信息来自其他信息---&gt;来自&#34;

的三个&#34; Msg

C1(首选结果)Msg来自,Smth else,Smth else ---&gt;我只想要一个&#34; Msg来自&#34; (3&#34; Msg来自&#34; - 2&#34; Msg来自&#34; = 1&#34; Msg来自&#34;)

A2 Msg来自,Smth else,Smth else

B2 Smth else,Smth else,Msg,Smth else

C2(首选结果)Smth else,Smth else,Smth else

A3 Smth else,Msg,来自Smth else,Msg来自

B3 Smth else,Smth else,Msg from,Msg来自,Smth else,Msg来自

C3(首选结果)Smth else,Smth else,Smth else,Msg from

...

好的,如果有人有任何想法,或需要更多解释,请回答,我有超过10,000行安排这样。非常感谢!

2 个答案:

答案 0 :(得分:0)

=SUBSTITUTE(B2,D2,"")&REPT(", "&D2,(LEN(B2)-LEN(SUBSTITUTE(B2,D2,"")))/LEN(D2)-(LEN(A2)-LEN(SUBSTITUTE(A2,D2,"")))/LEN(D2))

假设您可以将目标文本或MSG FROM放在D2中,或直接放在替换D2的公式中。根据需要复制。

这将用B2替换B2中的所有目标文本或“”。然后,它将在目标文本上添加所需数量的实例到消息的末尾。这是B列中的计数 - A列中的计数。

以下公式计算目标文本在B2中出现的次数:

(LEN(B2)-LEN(SUBSTITUTE(B2,D2,"")))/LEN(D2)

要计算目标文本在A2中出现的次数,我们调整公式并得到:

(LEN(A2)-LEN(SUBSTITUTE(A2,D2,"")))/LEN(D2)

根据您的评论,对A列和B列中显示的次数差异的答案是前两个公式之间的差异:

=(LEN(B2)-LEN(SUBSTITUTE(B2,D2,"")))/LEN(D2)-(LEN(A2)-LEN(SUBSTITUTE(A2,D2,"")))/LEN(D2)

如果结果是否定的,则意味着它出现在A中,而不是在B中出现。结果为0表示出现次数相同。

概念证明:

proof of concept

答案 1 :(得分:0)

您可以通过查找和替换轻松完成,但在替换部分中找不到任何内容后再写任何内容并按下替换它将删除在整个单元格中重复的文本的相同部分