从excel中的字符串“减去”字符串

时间:2018-05-14 14:25:13

标签: excel

我有一个excel表 ,其中包含一行 ,其中包含50行以逗号分隔的文本。在表格上随机间隔增加逗号数量。每次添加逗号时,都会在随机位置将新单词添加到现有字符串中:

FALSE,TRUE,TRUE,TRUE,FALSE
FALSE,TRUE,TRUE,TRUE,FALSE
FALSE,TRUE,TRUE,FALSE
FALSE,TRUE,TRUE,FALSE
TRUE,TRUE,FALSE
TRUE,TRUE,FALSE
TRUE,TRUE
TRUE,TRUE
TRUE,TRUE
TRUE

我想找到每行中添加到字符串的内容,例如:

N/A
TRUE
N/A
FALSE
N/A
FALSE
N/A
N/A
TRUE
N/A

到目前为止,我尝试将每一行(例如第2行)与其下方的行(第3行)进行比较,并使用搜索功能从第2行中删除第3行中的文本:

=(ISERROR(SEARCH(Q52,Q51,1)),Q51,RIGHT(Q51,LEN(Q51)-LEN(Q52)))

如果将新文本添加到字符串的开头或结尾,则此方法有效,但如果新文本添加到字符串的中间,则不起作用。有没有人知道这个的解决方法?

3 个答案:

答案 0 :(得分:2)

使用,

=IF(A2="",NA(),IF(LEN(A1)-LEN(SUBSTITUTE(A1,"TRUE",""))<>LEN(A2)-LEN(SUBSTITUTE(A2,"TRUE","")),"TRUE",IF(LEN(A1)-LEN(SUBSTITUTE(A1,"FALSE",""))<>LEN(A2)-LEN(SUBSTITUTE(A2,"FALSE","")),"FALSE",NA())))

将trues和falses的数量与下面的数量进行比较并返回差异。

enter image description here

答案 1 :(得分:0)

也许这也有帮助,它允许多次添加

=IF(LEN(SUBSTITUTE(B4,"TRUE","0"))=LEN(SUBSTITUTE(SUBSTITUTE(B4,"TRUE","0"),"0","")),0,LEN(SUBSTITUTE(B4,"TRUE","0"))-LEN(SUBSTITUTE(SUBSTITUTE(B4,"TRUE","0"),"0","")))

https://i.stack.imgur.com/4XlkI.png

https://i.stack.imgur.com/FZlOL.png

答案 2 :(得分:0)

对于非TRUE / FALSE绑定,这是一个非常优雅的解决方案,即文本是随机的而不是TRUE / FALSE。

How can I tell the differences between two strings in Excel?