如何与文本进行比较并仅将差异文本提取到另一个单元格中

问题描述 投票:0回答:1
A 栏 B 栏 C 栏
我18岁了 我17岁了 7
有女孩 有女孩 是,s

我需要与单元格进行比较,然后仅提取与第三个单元格的差异。我想要像 C 列那样的结果,如果我不需要使用 VBA,我使用 microsoft 365,那就太好了。请帮忙。

我尝试使用替代品,但它不起作用,因为它返回了整个文本的差异。 =Substitute(A2;B2;"") 结果 Iam17yearsold。但我只想要 7 个答案。

excel-formula text office365 text-extraction
1个回答
0
投票

假设 TAB、char(8) 不是要比较的文本的一部分,使用它作为分隔符:

  • 比较 b 和 a 中的字符
  • 如果相等则替换为分隔符
  • 按分隔符分割,忽略空格并连接
=LET(
    extract_diff, LAMBDA(a, b,
        LET(
            idx, SEQUENCE(, LEN(b)),
            b, MID(b, idx, 1),
            delim, CHAR(8),
            ARRAYTOTEXT(
                TEXTSPLIT(CONCAT(IF(MID(a, idx, 1) <> b, b, delim)), delim, , TRUE)
            )
        )
    ),
    MAP(A2:A3, B2:B3, extract_diff)
)

Result

© www.soinside.com 2019 - 2024. All rights reserved.