2016-09-19 19 views
1

いくつかのセルが空白のときに、行間のテキストを一緒に文字列にしようとしています。私はまた、各セルからテキストを区切るカンマを持っているが、セルにデータがあるときにはカンマしか入れない方法を考え出すことはできない。空白のセルを含む文字列

私は、A1 & B1 & C1を使用してテキストの連結と変形を試みましたが、私が望む形式でデータを返すものはありません。

私が望む形式でデータを返すために使用できる入れ子式の組み合わせはありますか?

+0

使用しているExcelのバージョンは何ですか? 2016年に、あなたは['TextJoin()'](https://support.office.com/en-us/article/TEXTJOIN-function-357b449a-ec91-49d0-80c3-0e8fc845691c)を実行することができます: '= TEXTJOIN 、 "、TRUE、[range])' – BruceWayne

+0

Excel 2013を使用していますので、textjoin式は使用できません。 –

答えて

0

以下の式はトリックを行うことができます。 valを連結するトリムは端からスペースを取り除き、代用者はコンマ(スペース)のスペースをスワップします。

= SUBSTITUTE(TRIM(A1 & "" & B1 & "" & C1 & "" & D1)、 ""、 "")以下のコメントから

編集 - あなたは間にスペースを更新することができ引用符はあなたの細胞に現れない文字です。あなたはちょうど一致する代替数式にする必要があります。あなたが|例えば文字:

= SUBSTITUTE(TRIM(A1 & "|" & B1 & "|" & C1 & "|" & D1)、 "|"、 "")

+0

私はこの公式を試しましたが、私のデータの中にはセルごとに複数の単語があり、この式は各セル内にスペースがあればどこでもコンマを挿入します。これに対する修正はありますか? –

+0

アンパサンドの間に ""の代わりに、あなたのテキストに現れない文字を使うことができます。スペースを置き換えてください。また、2番目と最後のセグメントのスペースを置き換えます。たとえば、\または*文字を使用しない場合、数式は次のようになります。 =置換(TRIM(A1& "\"&B1& "\"&C1& "\"&D1)、 (TRIM(A1& "*"&B1 "*"&C1 * "&D1)、" * "、"、 ") – BamAlmighty

0

はここでVBAソリューションです私は新しいバージョンの前に持っていた:

Public Function JOINCELLS(ByVal ref As Range) As String 
Dim c  As Range 
For Each c In ref 
    If Len(c) > 0 Then 
     JOINCELLS = JOINCELLS & c & ", " 
    End If 
Next 
JOINCELLS = Left(JOINCELLS, Len(JOINCELLS) - 2) 
End Function 

次に、ちょうど=JOINCELLS(A1:D1)です。

関連する問題