有没有办法从Excel中的单元格字符串中提取不匹配的数据?

问题描述 投票:0回答:1

我得到了一个包含列的Excel文件,并且在该列的每个单元格中都有多个用逗号分隔的条目,如

第 1 栏 第 2 栏 第 3 栏
A1、A7、A11、B12、B15 A1、A7、A11、B12、B15、C2、C58、C9 A7、A11、B12、B15、C2、C58
A6、B8、C23、D19 A6、C23、D19 A6、B8、B12 C23、D19

我试图将第 2 列和第 3 列中的单元格与第 1 行中同一列的单元格进行比较,并提取原始字符串中的任何添加内容,理想情况下给出如下输出:

第 1 栏 第 2 栏 第 3 栏 C1 与 C2 C1 与 C3
A1、A7、A11、B12、B15 A1、A7、A11、B12、B15、C2、C58、C9 A7、A11、B12、B15、C2、C58 C2、C58、C9 C2、C58
A6、B8、C23、D19 A6、C23、D19 A6、B8、B12 C23、D19 0 B12

因此,比较只有一种方式,并且不会报告第 1 列中存在的内容而不是第 2 或 3 列中存在的内容,仅报告已添加的内容。

我在网上找到了一些链接,这些链接建议了可能突出显示差异的方法,但没有一个可以提取添加内容。

可以将字符串转换为单个单元格,然后比较整行/列,但有数百个条目,所以我认为这会非常低效。 (类似于有没有办法查找一个单元格是否包含与其他单元格相同的字符串?

excel compare information-extraction
1个回答
0
投票

对于365(或在线)可能有很多方法。这是一份(横向和向下复制):

=LET(a,TEXTSPLIT(B2,,", ",TRUE),b,TEXTSPLIT($A2,,", ",TRUE),IFERROR(TEXTJOIN(",",TRUE,FILTER(a,BYROW(a,LAMBDA(c,ISERROR(MATCH(c,b,0)))))),""))

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