I will asssume that you want each block to start where there is a new date entered in column A...seems logical.
So say in G2, enter formula:
and copy it only down the column as far as you want
In H2, enter formula:
=IF($A2<>"",IF(OR(G2="",INDIRECT("A"&ROW()-ROW($D$2)+COLUMN(C2))<>"",LOOKUP(REPT("z",255),B:B)=G2),"",INDIRECT("D"&ROW()-ROW($D$2)+COLUMN(C2))),"")
Copy it down the same number of rows and then copy across as many columns as you want to extract all vital information.
Note: Adjust the G2 in this formula if you didn't put the first formula in G2.
Hope this does it.
Bookmarks