Excel:结合列中文本的所有实例

我有一个这样的电子表格: 在这里输入图像说明

ID Comound名称SubstanceID物质名称
10 YYY / ZZZ has_part 1 YYY
10 YYY / ZZZ has_part 2 ZZZ

我想在电子表格的末尾添加2列:

在这里输入图像说明

SubstanceID不能使用vlookup,因为它会在find第一个值时停止。 我试过= INDEX($ A $ 2:$ E $ 3,小(如果($ A $ 1:$ A $ 3 = $ F $ 1,ROW($ A $ 1:$ A $ 3)),ROW(1:2)) ,4)

http://office.microsoft.com/en-gb/excel-help/how-to-look-up-a-value-in-a-list-and-return-multiple-corresponding-values-HA001226038.aspx

但是把后续的值放在较低的行,我想要的是他们都在E.是否有一个函数来做到这一点?

如果你不想使用VBA,你可以按列A对行进行sorting,并且你不介意有一些额外的(隐藏的)列,你可以使用这个方法:

  1. 按列A对行进行sorting(也可以将D按第二个条件进行sorting)。 你后来改变数据,你将不得不再次sorting。
  2. 在列H2中,input以下公式:= IF($ A2 = $ A3; D2&“,”&H3; D2)
  3. 在列H和I的所有行中复制/粘贴单元格H2
  4. 在F2列中,input以下公式:= VLOOKUP($ A2; $ A:$ I; COLUMN()+ 2; FALSE)
  5. 在列F和G的所有行中复制/粘贴单元格F2
  6. 隐藏H和I列。

你会得到这样的东西:

1 - - 1 a 1,2,3 a,b,c 1 - - 2 b 1,2,3 a,b,c 1 - - 3 c 1,2,3 a,b,c 2 - - 1 x 1,2 x,y 2 - - 2 y 1,2 x,y