Excel:将所有文本实例合并到一列中

Excel:将所有文本实例合并到一列中,excel,Excel,我有这样一个电子表格: ID组合名称实体ID实体名称 10 YYY/ZZZ第1部分YYY 10 YYY/ZZZ有第2部分ZZZ 我想在电子表格的末尾添加两列: 我不能在SubstanceID上使用vlookup,因为它会在找到第一个值时停止。 我试过了 =索引($A$2:$E$3,小型(如果($A$1:$A$3=$F$1,行($A$1:$A$3)),行(1:2)),4) 但这会将后续值放在较低的行中,我想要的是它们都放在E中。是否有函数可以执行此操作?如果您不想使用VBA,可以按列a对行进

我有这样一个电子表格:

ID组合名称实体ID实体名称
10 YYY/ZZZ第1部分YYY
10 YYY/ZZZ有第2部分ZZZ

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

我不能在SubstanceID上使用vlookup,因为它会在找到第一个值时停止。 我试过了 =索引($A$2:$E$3,小型(如果($A$1:$A$3=$F$1,行($A$1:$A$3)),行(1:2)),4)


但这会将后续值放在较低的行中,我想要的是它们都放在E中。是否有函数可以执行此操作?

如果您不想使用VBA,可以按列a对行进行排序,并且您不介意有一些额外的(隐藏)列,可以使用此方法:

  • 按列A对行进行排序(也可以选择按D作为第二个标准)。如果以后更改数据,则必须重新排序
  • 在第H2列中,输入以下公式:=IF($A2=$A3;D2&“,”&H3;D2)
  • 复制/粘贴H列和I列所有行中的单元格H2
  • 在F2列中,输入以下公式:=VLOOKUP($A2;$A:$I;column()+2;FALSE)
  • 复制/粘贴F列和G列所有行中的单元格F2
  • 隐藏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
    

    我不明白F列和G列中的值背后的逻辑是什么。你能解释一下吗?或者至少提供更多的例子?当然,很抱歉不清楚。逻辑是第1行和第2行具有相同的ID 10。因此,我想要一个表达式来查看A中的ID。如果一行中的ID与其下一行相同,则将D中的ID和E中的名称分组在一起。这就解释了F2和G2中需要什么。F3和G3中的值如何(这两个值不会检查下一行中的值,而是检查上一行中的值)?(将以相反的顺序列出这些值——上面的行的值,然后是它自己的值)。