假设我在单元格A1
中有ABC
,在单元格B1
中有XaA
。
考虑到大写和小写,我想认识到A
存在于两个字符串中。
下面是我尝试使用的公式:
=INDEX(FLATTEN(FILTER(FLATTEN(FILTER(REGEXEXTRACT(TO_TEXT(E1),
REPT("(.)", LEN(E1))),REGEXEXTRACT(TO_TEXT(E1),
REPT("(.)", LEN(E1)))<>"")),
FLATTEN(FILTER(REGEXEXTRACT(TO_TEXT(E1),
REPT("(.)", LEN(E1))),REGEXEXTRACT(TO_TEXT(E1),
REPT("(.)", LEN(E1)))<>""))<>"")&""&TRANSPOSE
(FILTER(FLATTEN(FILTER(REGEXEXTRACT(TO_TEXT(E2),
REPT("(.)", LEN(E2))),REGEXEXTRACT(TO_TEXT(E2),
REPT("(.)", LEN(E2)))<>"")), FLATTEN(FILTER(REGEXEXTRACT(TO_TEXT(E2),
REPT("(.)", LEN(E2))),REGEXEXTRACT(TO_TEXT(E2),
REPT("(.)", LEN(E2)))<>""))<>""))))
但是没有用。
我如何使用Excel或Google工作表功能来实现这一点?
- 谢谢-谢谢
2条答案
按热度按时间n3ipq98p1#
另一种方法...(如果您有需要在regex中转义的字符,则很方便)
如果你解开每一个:
然后您可以对其进行筛选:
一步到位:
更新
为了区分B/N小写和大写,尝试频谱偏移:
bt1cpqcv2#
使用
regexmatch()
和regexextract()
,如下所示:=regexmatch( B1, join( "|", unique( transpose( regexextract(A1, rept("(.)", len(A1))) ) ) ) )
如果要列出匹配的字符,而不仅仅是获取
true
/false
结果,或者A1
中的值可能包含一个或多个特殊字符.*+?^${}()|[]\
,请使用以下较长的公式: