2016-11-02 4 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トピックを見つけた、それはスキップするために素晴らしい作品が、私は余分な文字を追加する方法を把握することはできません。

ご協力いただければ幸いです。 ありがとうございます!

編集:これまでの回答に感謝します。私はより明確にする必要があります -

  • 私の例では、パイプのみ異なるセルを指定していた - 彼らは、細胞内の実際の文字(私のためにそれをテーブルに変換するためのおかげで、ブルース)ではありません。私が使用したいパイプキャラクターは、SuzyとJohnの私の例のように、結果だけにあります。

  • 同じ結果行に2つ以上のエントリがあることはめったにありませんが、可能です。主に、クレジットを共有している作曲家になります。しかし、パブリックドメインの曲を作って、別の作曲家として「伝統的」あるいは「モーツァルト」を挙げる必要があります。

申し訳ありませんが、申し訳ありませんが私は知的に私の質問をする必要があります。これを行う方法を学ぶだけで、私が行くようにそれを把握しようとしています。

もう一度おねがいします!

+0

(2016年なら '= TextJoin()'を使用できます) – BruceWayne

+0

同じ行に2つのエントリがあると予想されますか? 2人以上はいますか?各エントリのフィールド数は設定されていますか? VBAを使用している場合は、 "|"(スペース、パイプ、スペース)で配列に分割するだけです。それを繰り返し、空の文字列をテストし、文字列をフォーマットして吐き出します。 – nbayly

+0

ありがとうございます - 私は最初の質問を編集しましたが、3人の作曲家がリストされることはまれです。 – user7105349

答えて

1

余分なスペースは、空になっているものを取り除くために使用してください。

あなたのコードが=concatenate(A1,B1,C1)で、あなたの「空のスペース」のであれば、ある「|」そしてあなたも、可能性をさらに追加する代替を積み重ねることができ=substitute(concatenate(A1,B1,C1),"| ","")

になるために、あなたの数式を編集「空に」、(「」のような2つのスペース)等である。 =substitute(substitute(concatenate(A1,B1,C1),"| ","")," ","")

+0

ありがとうございます - それは巨大な、長いフォーミュラですが、私はそれを働かせました! – user7105349

+0

ありがとうございます - それは私が言うことができないほど長くはありません - 完璧に動作しているようです。 – user7105349

関連する問題