2016-11-02 94 views
0

我不是程序员,但是在Excel中为小型图书馆工作。我们在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 

我想通了如何使用串连功能要做到这一点,但它并没有跳过空白单元格,而我得到额外的“|”或“()”。我还找到了= StringConCat主题,这对于跳过很有用,但我无法弄清楚如何添加额外的字符。

任何帮助将不胜感激。 谢谢!

编辑:感谢迄今为止的快速反应。我应该更明确 -

  • 在我的例子管道只指定不同的细胞 - 他们是不是在细胞实际字符(感谢将其转换为表对我来说,布鲁斯)。我想要使​​用的唯一Pipe字符在结果中,就像我在Suzy和John之间的示例中一样。

  • 在同一结果行上很少会有超过2个条目,但这是可能的。大部分将会是分享信用的作曲家。但是他们有机会参与公共领域的歌曲,我必须列出“传统”或者“莫扎特”作为另一位作曲家。

对不起,我没有足够的知识来问我的问题,因为我应该聪明。只是学习如何做到这一点,并试图找出我走了。

再次感谢!

+0

(您使用的是什么版本的Excel?如果是2016,则可以使用'= TextJoin()'。) – BruceWayne

+0

预计在同一行上有两个条目吗?会有超过2个?每个条目的字段数是否设置?如果这样使用VBA,你只需要将“|”(空间,管道,空间)拆分成一个数组。遍历它,测试空字符串,格式化字符串并吐出。 – nbayly

+0

谢谢 - 我编辑了我最初的问题,但有一个罕见的情况下,会有三名作曲家列出。 – user7105349

回答

1

对于多余的空格,使用替换来摆脱空容器。

所以,如果你的代码是=concatenate(A1,B1,C1)和你的“空的空间”都是“|”然后编辑您的公式成为=substitute(concatenate(A1,B1,C1),"| ","")

你甚至可以叠加的替代品,以增加更多的可能“清空”,如“”(两个空间)等。 =substitute(substitute(concatenate(A1,B1,C1),"| ","")," ","")

+0

感谢 - 这是一个巨大的,长的公式,但我得到它的工作! – user7105349

+0

谢谢 - 从我所能告诉的时间不算太长 - 似乎正在完美地工作。 – user7105349

相关问题