The are more elegant ways to do it with loops, but here is the crude method, a recorded macro.
What is does is copy/paste the order number between all three instances, then it stacks all the data and sorts by account number.
Of course it leaves the extra account numbers, and doesn't delete rows that are otherwise blank. Also, if order is vitally important sorting will probably change at least the order number order.
This code goes in the VBA editor, some help here if you need it: http://www.excel-easy.com/vba/create-a-macro.html.
Sub Macro4()
'
' Macro4 Macro
'
'
Columns("E:E").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("J:J").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("O1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("J1").Select
ActiveSheet.Paste
Range("E1").Select
ActiveSheet.Paste
Range("O1").Select
Range(Selection, Selection.End(xlDown)).Select
Range("K1:O7").Select
Range("O1").Activate
Application.CutCopyMode = False
Selection.Cut
Range("J1").Select
Selection.End(xlDown).Select
Range("F8").Select
ActiveSheet.Paste
Range("J1").Select
Range(Selection, Selection.End(xlDown)).Select
Range("F1:J14").Select
Range("J1").Activate
Selection.Cut
Range("E1").Select
Selection.End(xlDown).Select
Range("A8").Select
ActiveSheet.Paste
Range("E1").Select
Range(Selection, Selection.End(xlDown)).Select
Range("A1:E21").Select
Range("E1").Activate
ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Add Key:=Range( _
"E1:E21"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1 (2)").Sort
.SetRange Range("A1:E21")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub