Here is one way to do this.
In this example, dates are entered in column A, starting at cell A2
(There must be one row above the first date entry that does not contain a date, for this to work)
I have split the creation of the 'Date-Serial' number into two columns, to make it a bit easier to follow, but you could combine it into one formula in one column.
In cell B2 enter this formula:
This creates the base of your date-Serial number e.g., 2501-
The TEXT() functions ensure that the day and month always display as two characters, so that the base is always the same length.
In cell C2 enter this formula:
This looks to see if the date in the row above is the same as the one entered on this row. If it is different it is the first one for this day so -01
If it is the same date it takes the last two characters which are the serial number, converts them to a value, adds 1 and then converts it back to text, always as two characters.
If you were likely to go over 99 entries in a day, you would have to format the serial part as "000" and test the right three characters instead of the two ...(RIGHT(C1,3)...
Drag the formulas in B2 and C2 down as required.
If you want this in place before you enter dates, the above formula returns 0001-01 when column A is empty.
To avoid this, wrap the formulas in a test for an empty cell in column A and return "" instead:
Here is my example:
A B C
1 Date Base Day-Serial
2 22-Jan-10 2201- 2201-01
3 22-Jan-10 2201- 2201-02
4 22-Jan-10 2201- 2201-03
5 22-Jan-10 2201- 2201-04
6 22-Jan-10 2201- 2201-05
7 23-Jan-10 2301- 2301-01
8 23-Jan-10 2301- 2301-02
9 23-Jan-10 2301- 2301-03
10 25-Jan-10 2501- 2501-01