首页 > 解决方案 > 对匹配函数的结果进行分组

问题描述

我在excel中有三列,一列保存行ID,下一列是产品序列号,最后一列是序列号。

098 11079851   11079851
110 11089385   25853201
118 11089385   22412115
798 11079851   22412115

我需要做的是查找 B 列中的值是否存在于 C 列中。然后,我需要有一种方法,将在 C 列中找到的 B 列的值与它们一起分组对应的行ID。

11079851 的示例输出存在于 C 列中:11079851:098, 798 可能一个单元格具有行 id,而下一个单元格具有来自 B 列的相应编号,可以在 C 列中找到。

在excel中,这是我用来获取C列中每个单元格的B列值的存在:

=NOT(ISERROR(MATCH(B2,$C$2:$C$1000,0))) 

由于我不需要 excel 版本(即使 2016 年也不会有 textjoin),我尝试了以下答案中的建议公式,

=IF(COUNTIF($C$1:$C$4,B1),B1&": "&TEXTJOIN(",",TRUE,IF($B$1:$B$4=B1,$A$1:$A$4,""))"")

但我收到 509 错误。我错过了什么?

标签: excellibreoffice-calcopenrefine

解决方案


也许在D1

=IF(COUNTIF($C$1:$C$4,B1),B1&": "&TEXTJOIN(",",TRUE,IF($B$1:$B$4=B1,$A$1:$A$4,"")),"")

通过输入CtrlShiftEnter

拖累...

请注意,这将在 Excel2016 或更高版本中TEXTJOIN()启用。

PS我没有TEXTJOIN()自己,无法测试这是否适合你。


推荐阅读