将匹配函数的结果分组

时间:2019-05-17 16:11:43

标签: excel libreoffice-calc openrefine

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

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

我需要做的是查找B列中的值是否存在于C列中。然后,我需要一种方法来对C列中找到的B列值进行分组,以及它们相应的行ID。

列C中存在的11079851的示例输出:  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错误。我想念什么?

1 个答案:

答案 0 :(得分:2)

也许在.lineTo()中:

D1

通过 Ctrl Shift Enter

输入

向下拖动...

请注意,这将在启用了=IF(COUNTIF($C$1:$C$4,B1),B1&": "&TEXTJOIN(",",TRUE,IF($B$1:$B$4=B1,$A$1:$A$4,"")),"") 的Excel2016或更高版本中起作用。

P.S。我自己没有TEXTJOIN(),也无法测试它是否对您有用。