2016-11-02 2 views
0

Ich bin kein Programmierer, aber Excel für eine kleine Bibliothek arbeiten. Wir haben diese Felder in einer Excel-Tabelle:Excel Concatenate Zellen beim Hinzufügen von Zeichen und Überspringen von leeren Zellen

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 

Was Ich mag würde jede der Zellen in der Lage sein zu kombinieren (in derselben Zeile) in einer Zelle, die wie folgt lesen würde:

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

oder

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

ich herausgefunden, wie die Concatenate Funktion zu verwenden, um dies zu tun, aber es nicht leere Zellen überspringen, und ich eine Portion extra „|“ oder "()" an diesen Stellen. Ich habe auch das = StringConCat-Thema gefunden, und das funktioniert super zum Überspringen, aber ich kann nicht herausfinden, wie man die zusätzlichen Zeichen hinzufügt.

Jede Hilfe würde am meisten geschätzt werden. Danke !!

EDIT: Danke für die schnellen Antworten bisher. Ich sollte klarer sein -

  • die Rohre in meinem Beispiel nur unterschiedliche Zellen zu bezeichnen waren - sie sind keine echten Zeichen in den Zellen (Dank dafür an einen Tisch für mich Umwandlung, Bruce). Das einzige Pfeifenzeichen, das ich verwenden möchte, ist in den Ergebnissen, wie in meinem Beispiel zwischen Suzy und John.

  • Es wird selten mehr als zwei Einträge werden auf der gleichen Ergebnis Linie, aber es ist möglich. Meistens werden es Komponisten sein, die den Kredit teilen. Aber es gibt eine Chance, dass sie an einem Public Domain Song arbeiten werden und ich muss "Traditional" oder vielleicht "Mozart" als einen anderen Komponisten auflisten.

Entschuldigung, dass ich nicht genug weiß, um meine Frage so intelligent zu stellen, wie ich sollte. Ich lerne einfach, wie ich das mache, und versuche es herauszufinden, während ich gehe.

Danke nochmal!

+0

(In welcher Version von Excel sind Sie? Wenn es 2016 ist, können Sie '= TextJoin()' verwenden.) – BruceWayne

+0

Wird erwartet, dass 2 Einträge in derselben Zeile stehen? Wird es mehr als 2 geben? Ist die Anzahl der Felder für jeden Eintrag festgelegt? Wenn Sie VBA verwenden, müssen Sie nur durch "|" (Leerzeichen, Pipe, Leerzeichen) in ein Array aufteilen. Iteriere durch, teste auf leere Strings, formatiere String und spucke aus. – nbayly

+0

Danke - ich habe meine erste Frage bearbeitet, aber es gibt einen seltenen Fall, in dem drei Komponisten aufgelistet wären. – user7105349

Antwort

1

Für die zusätzlichen Leerzeichen verwenden Ersatz rid von Leergut zu bekommen.

Also, wenn Ihr Code =concatenate(A1,B1,C1) und Ihre ‚leeren Räume‘ ist sind „|“ dann Ihre Formel bearbeitet =substitute(concatenate(A1,B1,C1),"| ","") zu werden

Sie können sogar den Ersatz stapeln, um mehr möglich hinzufügen ‚leert‘, wie „“ (zwei Räume) oder dergleichen. =substitute(substitute(concatenate(A1,B1,C1),"| ","")," ","")

+0

Danke - Es ist eine große, lange Formel, aber ich habe es zur Arbeit !! – user7105349

+0

Danke - Es ist nicht zu lange von dem, was ich sagen kann - scheint perfekt zu funktionieren. – user7105349

Verwandte Themen