【问题标题】:Excel zipper concatenation formulaExcel 拉链连接公式
【发布时间】:2016-04-03 05:05:43
【问题描述】:

我有两列,其中每个单元格包含一个逗号分隔的名字列表,第二列每个单元格包含一个逗号分隔的第二个名字列表。我需要将这两列“压缩”到第三列中,其中包含以逗号分隔的全名列表。

例如:

Column A                  Column B                 Column C (formula?)
Joe, Frank, Billy         Bloggs, Spencer, Bragg   Joe Bloggs, Frank Spencer, Billy Brag
Martin, Michael, Charlie  Sheen, Sheen, Sheen      Martin Sheen, Michael Sheen, Charlie Sheen

不幸的是,我不能使用宏,我可以使用的唯一选项是某种公式,但没有想到任何东西。

这是一个不可能写出的公式吗?

非常感谢您的帮助!

【问题讨论】:

  • 总是三人一组吗?
  • 不,它可以是 1 到 N,具体取决于已汇总并连接到单元格中的子记录数。唯一的规则是两列中对应单元格的编号相同。
  • 那么答案很可能没有vba是不可能的。
  • 您可以考虑另一种方法:请参阅此问题:superuser.com/questions/483419/… 以另一种方式看待此问题;)(即先拆分数据,然后找出处理结果数据的公式;) )
  • 您可能会发现此讨论很有帮助 - 简而言之,有一些数组公式允许完成多个计算然后组合成一个答案,但通常不可能以这种方式组合文本数据. stackoverflow.com/q/33112330/5090027 在您的情况下,我建议@Ditto 说按名字/姓氏将您的数据分成新列并创建一个新名称列,然后将它们“压缩”备份。您需要 VBA 或大量帮助列才能完成这项工作。

标签: excel formulas


【解决方案1】:

在 D1 到 I1 中输入以下公式:

=TRIM(MID(SUBSTITUTE($A1,", ",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
=TRIM(MID(SUBSTITUTE($A1,", ",REPT(" ",999)),COLUMNS($A:B)*999-998,999))
=TRIM(MID(SUBSTITUTE($A1,", ",REPT(" ",999)),COLUMNS($A:C)*999-998,999))
=TRIM(MID(SUBSTITUTE($B1,", ",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
=TRIM(MID(SUBSTITUTE($B1,", ",REPT(" ",999)),COLUMNS($A:B)*999-998,999))
=TRIM(MID(SUBSTITUTE($B1,", ",REPT(" ",999)),COLUMNS($A:C)*999-998,999))

然后在C1中输入:

=D1 & " " & G1 & ", " & E1 & " " & H1 & ", " & F1 & " " & I1

【讨论】:

    猜你喜欢
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2018-04-08
    • 2015-11-20
    相关资源
    最近更新 更多