2011-11-03 8 views
1

私は私が欲しい仕事をしていませんが、おそらく片付けすることができますExcelの機能を持っている:アップTidyのExcelの機能

=CELL("contents",E2) & (", ") & CELL("contents",F2) & (", ") & CELL("contents",G2)& (", ") & CELL("contents",H2) 

それは、行の4つのセルからの情報をつかみ、それぞれの間にカンマとスペースを追加します1。

どうすれば整理できますか?また、 "E3、F3、G3、H3"、 "E4、F4、G4、H4"などのセル参照を変更せずに、その式をすべて126に入れることもできます。

+1

はその後、近隣のものにセルをドラッグして、一つのセルに数式を書く ​​- Excelは、セルがあなたのために座標調整されます。 –

+1

Marcの提案に沿って。あなたが$ A $ 2(例えば)を使用するためにドラッグしたときに参照が変更されないようにしたい場合は覚えておいてください。これは、行と列の両方をロックします。あなただけをロックしたい場合は、A $ 2または$ A2を行うことができます。 – hex4def6

+2

なぜ 'CELL(" Contents "、' = E2& "、"&F2& "、"&G2& "、"&H2'だけではないのですか? –

答えて

2

シンプル:

=E2 & ", " & F2 & ", " & G2 & ", " & H2 

ます。また、.NET string.Join()関数を模倣するためにVBA関数を書くことができ、その後、式は

=JOIN(E2:H2) 

それともだろう、に応じて関数を書く方法:

=JOIN(E2:H2, ", ") 

上記の数式をコピーして貼り付けると、 Excelはセル参照を調整して、新しい場所との相対的な関係を維持します。ここで

は)(の可能な実装は、JOINです:

Public Function JOIN(rngValues As Range, strSeparator As String) As String 
    Dim rngCell As Range 

    For Each rngCell In rngValues 
     If Not IsEmpty(rngCell) Then 
      If Len(JOIN) Then 
       JOIN = JOIN & strSeparator 
      End If 
      JOIN = JOIN & rngCell 
     End If 
    Next 
End Function