/ / Excel Concatena celle mentre aggiungi caratteri e salta le celle vuote - excel, vba, excel-vba

Excel Concatena celle mentre aggiungi caratteri e salta le celle vuote - excel, vba, excel-vba

Non sono un programmatore, ma facendo funzionare Excel per una piccola libreria. Abbiamo questi campi in un foglio 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

Quello che mi piacerebbe essere in grado di combinare qualsiasi cella (nella stessa riga) in una cella che dovrebbe leggere in questo modo:

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

o

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

Ho capito come usare la funzione Concatenateper fare questo, ma non salta le celle vuote, e ottengo extra "|" o "()" in quei punti.Ho anche trovato l'argomento = StringConCat, e che funziona benissimo per saltare, ma non riesco a capire fuori come aggiungere i personaggi in più.

Qualsiasi aiuto sarebbe più apprezzato. Grazie!!

EDIT: Grazie per le risposte veloci finora. Dovrei essere più chiaro -

  • le pipe nel mio esempio dovevano solo designarecelle diverse - non sono caratteri reali nelle celle (grazie per averlo convertito in un tavolo per me, Bruce). L'unico personaggio Pipe che vorrei usare è nei risultati, come nel mio esempio tra Suzy e John.

  • Raramente ci saranno più di 2 voci sulstessa linea di risultati, ma è possibile. Per lo più sarà per i compositori che condividono il credito. Ma c'è la possibilità che lavorino su una canzone del pubblico dominio e devo elencare "Tradizionale" o forse "Mozart" come un altro compositore.

Mi dispiace di non sapere abbastanza per fare la mia domanda nel modo più intelligente che dovrei. Sto solo imparando come farlo e cercando di capirlo mentre vado.

Grazie ancora!

risposte:

1 per risposta № 1

Per gli spazi extra, usa il sostituto per sbarazzarti dei vuoti.

Quindi, se il tuo codice è =concatenate(A1,B1,C1) e i tuoi "spazi vuoti" sono "|" quindi modifica la tua formula per diventare =substitute(concatenate(A1,B1,C1),"| ","")

Puoi anche impilare i sostituti per aggiungere più "vuoti" possibili, come "" (due spazi) o simili. =substitute(substitute(concatenate(A1,B1,C1),"| ","")," ","")