/ / Excel Concatenate Cells tout en ajoutant des caractères et en sautant les cellules vides - excel, vba, excel-vba

Excel Concatenate Cells tout en ajoutant des caractères et en sautant Cellules vides - excel, vba, excel-vba

Je ne suis pas un programmeur, mais je travaille avec Excel pour une petite bibliothèque. Nous avons ces champs dans une feuille 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

Ce que je voudrais être capable de combiner n'importe laquelle des cellules (dans la même rangée) dans une cellule qui se lirait comme ceci:

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

ou

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

J'ai compris comment utiliser la fonction Concatenerfaire cela, mais cela ne "saute pas les cellules vides, et j'obtiens extra" | "ou" () "dans ces endroits. J'ai aussi trouvé le sujet = StringConCat, et ça marche très bien pour sauter, mais je ne peux pas" comprendre " comment ajouter les caractères supplémentaires.

Toute aide serait appréciée. Je vous remercie!!

EDIT: Merci pour les réponses rapides à ce jour. Je devrais être plus clair -

  • les tuyaux dans mon exemple étaient seulement pour désignerdifférentes cellules - ce ne sont pas des caractères réels dans les cellules (merci de l'avoir convertie en table pour moi, Bruce). Le seul caractère de pipe que je voudrais utiliser se trouve dans les résultats, comme dans mon exemple entre Suzy et John.

  • Il y aura rarement plus de 2 entrées sur lemême ligne de résultat, mais c'est possible. Ce sera principalement pour les compositeurs qui partagent le crédit. Mais il y a une chance qu'ils travaillent sur une chanson du domaine public et je dois lister "Traditional" ou peut-être "Mozart" comme un autre compositeur.

Désolé de ne pas en savoir assez pour poser ma question aussi intelligemment que je le devrais. Apprendre à faire cela et essayer de la comprendre au fur et à mesure.

Merci encore!

Réponses:

1 pour la réponse № 1

Pour les espaces supplémentaires, utilisez substitut pour vous débarrasser des espaces vides.

Donc, si votre code est =concatenate(A1,B1,C1) et vos "espaces vides" sont "|" puis éditez votre formule pour devenir =substitute(concatenate(A1,B1,C1),"| ","")

Vous pouvez même empiler les substituts pour ajouter plus de "vides" possibles, comme "" (deux espaces) ou similaires. =substitute(substitute(concatenate(A1,B1,C1),"| ","")," ","")