2016-11-04 63 views
0

http://imgur.com/a/yb3dH合并值是在Excel

我需要检查在Excel文件中的第一列,如果它是一个非空,然后将所有非空非空另一列中的行放入单个单元格中,并在它们之间留有空格。例如,在给定的样本中,对于序列号2,我只需在“log”列中合并行3,4,5,以便第二个条目(序列号2)的Log值变为第一次实验失败在第五实验3实验成功

+0

您是否尝试过使用任何VBA还是你希望有这样一些做那种公式? –

+0

我没有VBA或Excel的经验,我只是想完成这部分,所以我可以继续将它导入数据库,然后与数据乐趣。谢谢! – srkmish

+0

所以你公然承认你想要别人为你做这个! –

回答

1

与样本数据来测试这一点,这将是我的最后一个职位对这个问题

Public Sub Answer() 

Dim ws As Worksheet 
Dim Data As Variant 
Dim Row As Integer 
Dim dRow As Integer 
Dim DelRange As Range 

' change sheet4 to the name of your worksheet 
Set ws = ThisWorkbook.Worksheets("Sheet4") 
' change A2:C8 to the range of your data (yes there are simpler ways to do this) 
Data = Range("A1:C8") 

Row = 2 
Do 
    dRow = Row 
    Row = Row + 1 
    Do While Data(Row, 1) = "" 
     If Data(Row, 3) <> "" Then 
     Data(dRow, 3) = Data(dRow, 3) & " " & Data(Row, 3) 
     If DelRange Is Nothing Then 
      Set DelRange = ws.Rows(Row) 
     Else 
      Set DelRange = Union(DelRange, ws.Rows(Row)) 
     End If 
     End If 
     Row = Row + 1 
     If Row > UBound(Data, 1) Then Exit Do 
    Loop 

Loop Until Row >= (UBound(Data, 1) - 1) 

Range("A1:C8") = Data 
DelRange.Delete 

End Sub 
+0

非常感谢你:) – srkmish