Excel在添加字符并跳过空单元格时连接单元格

时间:2016-11-02 15:23:59

标签: excel vba excel-vba

我不是程序员,而是在Excel中为小型库工作。我们在excel表中包含这些字段:

John  | J   | Smith | BMI   | 123 | 100 |
Sarah |  P  | Crown | ASCAP | 564 | 100 |
Tommy |  T  | Stew  | BMI   | 134 | 100 |
Suzy  | S   | Smith | BMI   | 678 | 50  | 
John  | J   | Smith | BMI   | 123 | 50

我希望能够将任何单元格(在同一行中)组合成一个单元格,如下所示:

John J Smith, (BMI), 100%, IPI 123  

Suzy S Smith, (BMI), 50%, IPI 678  | John J Smith (BMI), 50% IPI 123

我想出了如何使用Concatenate函数来执行此操作,但它不会跳过空单元格,并且我得到额外的“|”或“()”在那些地方。我还找到了= StringConCat主题,这对于跳过非常有用,但我无法弄清楚如何添加额外的字符。

任何帮助都将非常感激。 谢谢!!

编辑:感谢您迄今为止的快速回复。我应该更清楚 -

  • 我的例子中的管道只是指定不同的单元格 - 它们不是单元格中的实际字符(感谢将它转换为表格,Bruce)。我想要使​​用的唯一Pipe字符是结果,就像我在Suzy和John之间的例子一样。

  • 同一结果行上很少有超过2个条目,但这是可能的。大多数情况下,作曲家将分享信用。但是他们有可能会在Public Domain歌曲上工作,我必须将“传统”或“莫扎特”列为另一位作曲家。

很抱歉,我不知道应该如何聪明地提出我的问题。只是学习如何做到这一点,并试着在我走的时候弄明白。

再次感谢!

1 个答案:

答案 0 :(得分:1)

对于额外的空间,请使用替代品来摆脱空箱。

因此,如果您的代码为=concatenate(A1,B1,C1),并且您的空格为'是" | "然后编辑您的公式,使其成为=substitute(concatenate(A1,B1,C1),"| ","")

你甚至可以堆叠替代品以增加更多可能的空缺',比如" " (两个空格)等。 =substitute(substitute(concatenate(A1,B1,C1),"| ","")," ","")