Обратите внимание, что сегодня вечером мы решим проблему с этим кодом, но при этом по-прежнему возникают ошибки при перемещении по списку значений. В настоящее время не работает, просто не хочу переформатировать строки кода. Не стесняйтесь играть вокруг. Я буду добавлять комментарии и инструкции одновременно.
Кто-то упомянул, что это можно сделать с помощью VBA. Мне нравится VBA, поэтому я взял удар на него. 
Пара предположений:
1 - Отметка времени и дата не содержатся в одной и той же ячейке (т. Е. 12:00:00 AM | 21.07.2014, NOT 7/21/2014 00:00:00) 
2 - Вы хотите, чтобы все подсчеты меток времени были сгруппированы в одном списке дней (т. Е. Показывать только один набор с воскресенья по субботу, а не создавать новый набор столбцов для каждого дополнительного дня - если мы начали в пятницу, мы не будет начинать группировку в пятницу, и если мы закончим во вторник через две недели, у нас не будет 16 столбцов группировок)
3 - в ваших данных нет пустых ячеек от первой строки до последней. 
4 - Ваши данные с метками времени и датами имеют заголовки
Вы должны нажать alt+f11, открыть книгу, в которой у вас есть данные и исходные таблицы, и ввести этот код. Затем нажмите F5. 
Public Sub PrintDateGroups()
Dim icontrol As Integer
Dim iweeknum As Integer
Dim ipasscount As Integer
Dim lngwalktimevalues As Long
Dim ipasstimecount As Integer
icontrol = 1
Do Until icontrol = -1:
If ThisWorkbook.Sheets("Data").Cells(icontrol,2).Value = "" Then
    icontrol = -1
Else
    icontrol = icontrol + 1
    iweeknum = Weekday(ThisWorkbook.Sheets("Data").Cells(icontrol, 1).Value, vbSunday)
    For lngwalktimevalues = 0 To 99999999 Step 694444.4375
        If (TimeValue(Format(ThisWorkbook.Sheets("Data").Cells(icontrol, 2).Value, "hh:mm:ss")) * 100000000) <= lngwalktimevalues Then
            If iweeknum = 1 Then
                If ThisWorkbook.Sheets("Destination").Cells(Round((lngwalktimevalues / 694444.4375) + 1, 0), 2).Value <> "" Then
                    ThisWorkbook.Sheets("Destination").Cells(Round((lngwalktimevalues / 694444.4375) + 1, 0), 2).Value = ThisWorkbook.Sheets("Destination").Cells(lngwalktimevalues / 694444.4375, 2).Value + 1
                    Exit For
                Else
                    ThisWorkbook.Sheets("Destination").Cells(Round((lngwalktimevalues / 694444.4375) + 1, 0), 2).Value = 1
                    Exit For
                End If
            Else
                If ThisWorkbook.Sheets("Destination").Cells((lngwalktimevalues / 694444.4375) + 1, ((3 * iweeknum) + (iweeknum - 2))).Value = "" Then
                    ThisWorkbook.Sheets("Destination").Cells((lngwalktimevalues / 694444.4375) + 1, ((3 * iweeknum) + (iweeknum - 2))).Value = 1
                    Exit For
                Else
                    ThisWorkbook.Sheets("Destination").Cells((lngwalktimevalues / 694444.4375) + 1, ((3 * iweeknum) + (iweeknum - 2))).Value = ThisWorkbook.Sheets("Destination").Cells(lngwalktimevalues / 694444.4375, ((3 * iweeknum) + (iweeknum - 2))).Value + 1
                    Exit For
                End If
            End If
        End If
    Next lngwalktimevalues
End If
Loop
End Sub