a little macro?:
Code:
Sub blah()
lr = Cells(Rows.Count, "B").End(xlUp).Row
For rw = lr To 3 Step -1
  If Len(Cells(rw, 1).Value) = 0 Then
    Cells(rw - 1, 2).Value = Cells(rw - 1, 2).Value & vbLf & Cells(rw, 2).Value
    Rows(rw).Delete
  End If
Next rw
End Sub
works on the active sheet and deletes rows so test on a copy first.