Excel查找单元格值中的相似和不同单词

kyks70gy  于 2023-06-25  发布在  其他
关注(0)|答案(3)|浏览(200)

我需要帮助
我在Excel中有3行动物:
猫,狗,鸟
狗,老虎,狮子
熊,猫,狗
我想有1列,确定哪些动物是类似的,在这3行:
dog
这三排动物有什么不同
cat,bird,tiger,lion,bear
有人能帮我做excel公式吗谢谢!

ev7lccsx

ev7lccsx1#

这种设置将取决于没有太多行的数据需要解析,否则TEXTJOIN将超过其字符限制。
假设数据为A1:A3

=LET(
    ζ,A1:A3,
    φ,TEXTSPLIT(TEXTJOIN(",",,ζ),","),
    ς,",",
    UNIQUE(TOCOL(FILTER(φ,MMULT(SEQUENCE(,ROWS(ζ)),N(ISERR(FIND(ς&φ&ς,ς&ζ&ς))))=0,"")))
)

对于所有行不通用的单词,公式相同,但将部分=0更改为<>0

j0pj023g

j0pj023g2#

另一种选择,试图避免使用TEXTJOIN(),因为字符的限制,如上面看到的**Jos Woolley**先生。可能还有更多的空间来即兴发挥,但我尝试了以下方法。

·单元格B1中使用的公式

=LET(
a,A1:A3,
b,DROP(REDUCE("",a,LAMBDA(x,y,VSTACK(x,TEXTSPLIT(y,",")))),1),
c,UNIQUE(TOCOL(b)),
TOCOL(BYROW(c,LAMBDA(x,FILTER(x,
AND(MMULT(N(x=b),SEQUENCE(ROWS(b),,,0))>0)))),3))

少数场景:

fquxozlt

fquxozlt3#

另一种选择:

相似词:

我们可以只看第一个输入。

C1中的公式:

=LET(d,",",x,TEXTSPLIT(A1,,d),FILTER(x,MAP(x,LAMBDA(y,AND(NOT(ISERR(FIND(d&y&d,d&A1:A3&d)))))),""))

非相似词:

我们简单地将TEXTSPLIT(A1,,",")替换为UNIQUE(TOCOL(TEXTAFTER(","&TEXTBEFORE(A1:A3&",",",",SEQUENCE(,99)),",",-1),2))。此外,我们希望使用OR()检查FIND()的结果是否返回错误。

公式C1

=LET(d,",",x,UNIQUE(TOCOL(TEXTAFTER(d&TEXTBEFORE(A1:A3&d,d,SEQUENCE(,99)),d,-1),2)),FILTER(x,MAP(x,LAMBDA(y,OR(ISERR(FIND(d&y&d,d&A1:A3&d))))),""))

**注意:**这些公式是区分大小写的!

相关问题