Here's a play using non-array formulas ..
Assume source data is in sheet: X
cols A to C, data from row2 down
(Col A = dates)
Date Field1 Field2
26-Apr-06 15 19
26-Apr-06 11 15
27-Apr-06 16 13
27-Apr-06 19 10
27-Apr-06 17 16
28-Apr-06 10 15
28-Apr-06 20 13
29-Apr-06 12 20
30-Apr-06 11 14
etc
Let's create a defined name to evaluate "today's date"
Click Insert > Name > Define
Make the settings under
Names in workbook: TDay
Refers to: =TODAY()
Then in another sheet: Y,
With the same headers in A1:C1 : Date, Field1, Field2
Put in A2:
=IF(ISERROR(SMALL($D:$D,ROW(A1))),"",INDEX(X!A:A,MATCH(SMALL($D:$D,ROW(A1)),
$D:$D,0)))
Copy A2 across to C2
Put in D2: =IF(X!A2="","",IF(X!A2=TDay,ROW(),""))
(Leave D1 empty)
Select A2
2, fill down to say, D50 ?
to cover the max expected extent of data in X
Format col A as dates
Cols A to C in Y will auto-return only those lines with dates = today's date
in col A in X. All lines will appear neatly bunched at the top.
For the sample data above,
if "today's date" is say: 27-Apr-06, we'd get:
Date Field1 Field2
27-Apr-06 16 13
27-Apr-06 19 10
27-Apr-06 17 16
(blank: "" rows below)
Adapt to suit ..